36 lines
785 B
Python
36 lines
785 B
Python
class SimplePubSub:
|
|
def subscribe(self, event, listener):
|
|
pass
|
|
def unsubscribe(self, event, listener):
|
|
pass
|
|
def publish(self, event, data):
|
|
pass
|
|
|
|
# 创建 PubSub 实例
|
|
pubSub = SimplePubSub()
|
|
|
|
def subscriber1(data):
|
|
print(f'Subscriber 1 received: {data}')
|
|
|
|
def subscriber2(data):
|
|
print(f'Subscriber 2 received: {data}')
|
|
|
|
# 订阅事件
|
|
pubSub.subscribe('event1', subscriber1)
|
|
pubSub.subscribe('event1', subscriber2)
|
|
|
|
# 发布事件
|
|
pubSub.publish('event1', 'Hello, World!')
|
|
|
|
# 取消订阅
|
|
pubSub.unsubscribe('event1', subscriber1)
|
|
|
|
# 发布事件
|
|
pubSub.publish('event1', 'Hello again!')
|
|
|
|
# 输出应该是如下的样式
|
|
|
|
# Subscriber 1 received: Hello, World!
|
|
# Subscriber 2 received: Hello, World!
|
|
# Subscriber 2 received: Hello again!
|