中介模式:
在中介者模式中,对象间的通信过程被封装在一个中介者(调解人)对象之中。 对象之间不再直接交互,而是通过调解人进行交互。 这么做可以减少可交互对象间的依赖,从而降低耦合。
何时使用:多个类相互耦合,形成了网状结构。
如何解决:将上述网状结构分离为星型结构。
class ChatRoom():
@staticmethod
def display_message(user, message):
print("{0} say {1}".format(user.name, message))
class User():
def __init__(self, name):
self.name = name
def say(self):
ChatRoom.display_message(self, self.speak())
def speak(self):
return "can speak english"
if __name__ == "__main__":
u1 = User("马云")
u2 = User("马化腾")
u1.say()
u2.say()