interviews/pub.py

36 lines
785 B
Python
Raw Permalink Normal View History

2024-10-29 14:46:43 +08:00
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!