发布-订阅模式
时间:2021-04-16 11:41:15
收藏:0
阅读:0
模拟订阅报纸:

消费者与出版社之间没有联系,甚至互不相识,但报纸却从出版社到达了消费者手中,发布-订阅模式就是通过模拟订阅报纸,实现消息在模块之间的传递、模块与模块之间的调用。
Python样例
from blinker import Namespace # 创建一个Signal,其名为test my_singal = Namespace() test = my_singal.signal(‘test‘) # 创建一个方法singal_sender,内部包含两个发送者 def singal_sender(): # 发送者test1 test.send(‘test1‘, data1=1) # 发送者test2 test.send(‘test2‘, data2=2) print(‘singal_sender() 执行完毕‘) # 订阅者,指定接收test1 @test.connect_via(‘test1‘) def subscriber(sender, **kwargs): print("指定接收test1", sender, kwargs) # 订阅者,指定接收test2 @test.connect_via(‘test2‘) def subscriber(sender, **kwargs): print("指定接收test2", sender, kwargs) # 订阅者,不指定接收,全部发布都要接收 @test.connect def subscriber(sender, **kwargs): print("不指定接收", sender, kwargs) singal_sender()
评论(0)