Вот пример использования паттерна mediator:
class ChatRoom(object):
"""Mediator class"""
def display_message(self, user, message):
print("[{} says]: {}".format(user, message))
class User(object):
"""A class whose instances want to interact with each other"""
def __init__(self, name):
self.name = name
self.chat_room = ChatRoom()
def say(self, message):
self.chat_room.display_message(self, message)
def __str__(self):
return self.name
def main():
molly = User('Molly')
mark = User('Mark')
ethan = User('Ethan')
molly.say("Hi Team! Meeting at 3 PM today.")
mark.say("Roger that!")
ethan.say("Alright.")
if __name__ == '__main__':
main()
Скажите пожалуйста, удачный ли это пример для иллюстрации работы этого паттерна? Меня смущают две вещи:
1. объект-медиатор существует не в единственном экземпляре
2. объекты класса User не взаимодействуют между собой, а медиатор должен помогать именно в этом
ps:
Дело в том, что я ищу понятный и наглядный пример этого паттерна, приведённое решение пока самое незапутанное на мой взгляд