python中介者模式
时间: 2023-11-13 22:55:41 浏览: 47
Python中的中介者模式是一种行为型设计模式,它允许对象之间通过一个中介者对象进行通信,而不是直接相互引用。这种模式可以减少对象之间的耦合度,使得系统更加灵活和易于维护。
在Python中,可以通过定义一个中介者类来实现中介者模式。该类通常包含一个或多个方法,用于处理对象之间的通信。当一个对象需要与另一个对象通信时,它将消息发送给中介者对象,中介者对象再将消息转发给目标对象。
下面是一个简单的示例代码:
```python
class Mediator:
def __init__(self):
self.colleague1 = Colleague1(self)
self.colleague2 = Colleague2(self)
def send_message(self, message, colleague):
if colleague == self.colleague1:
self.colleague2.receive_message(message)
else:
self.colleague1.receive_message(message)
class Colleague1:
def __init__(self, mediator):
self.mediator = mediator
def send_message(self, message):
self.mediator.send_message(message, self)
def receive_message(self, message):
print("Colleague1 received message:", message)
class Colleague2:
def __init__(self, mediator):
self.mediator = mediator
def send_message(self, message):
self.mediator.send_message(message, self)
def receive_message(self, message):
print("Colleague2 received message:", message)
mediator = Mediator()
mediator.colleague1.send_message("Hello from Colleague1")
mediator.colleague2.send_message("Hello from Colleague2")
```
在上面的示例中,Mediator类充当中介者,Colleague1和Colleague2类充当对象。当Colleague1需要与Colleague2通信时,它将消息发送给Mediator对象,Mediator对象再将消息转发给Colleague2对象。