在 Python 中,消息总线通常是指一种架构或模式,用于在不同的组件之间传递消息。
这里是一个简单的消息总线示例:
class MessageBus:
def __init__(self):
self.listeners = {}
def add_listener(self, message_type, listener):
if message_type not in self.listeners:
self.listeners[message_type] = []
self.listeners[message_type].append(listener)
def remove_listener(self, message_type, listener):
if message_type in self.listeners:
self.listeners[message_type].remove(listener)
def send_message(self, message_type, message):
if message_type in self.listeners:
for listener in self.listeners[message_type]:
listener(message)
# 创建消息总线
bus = MessageBus()
# 定义消息处理函数
def process_message(message):
print(f"Received message: {message}")
# 注册监听器
bus.add_listener("my_message_type", process_message)
# 发送消息
bus.send_message("my_message_type", "Hello, world!")
# Output: "Received message: Hello, world!"
在这个示例中,MessageBus
类实现了一个消息总线,允许注册和删除监听器,并且能够将消息发送到所有注册的监听器。