中介者模式是用来降低多个对象和类通信的复杂度。

优点: 解耦,将一对多关系转化成一对一

Demo

  1. class User:
  2. def __init__(self, name):
  3. self.name = name
  4. def send_message(self, message):
  5. ChatRoom.show_message(self, message)
  6. class ChatRoom:
  7. @classmethod
  8. def show_message(cls, user: User, message: str):
  9. print(f"{user.name} send : {message}")
  10. if __name__ == '__main__':
  11. u1 = User('rrr')
  12. u2 = User('bbb')
  13. u1.send_message(f'my name is rrr')
  14. u2.send_message('hello')