Паттерны проектирования Python

Mediator Pattern in Python

Изучите Mediator Pattern in Python на практическом примере, который можно изменить и запустить онлайн.

Что такое Mediator Pattern?

Изучите Mediator Pattern in Python на практическом примере, который можно изменить и запустить онлайн.

Когда это использовать?

  • Решать повторяющиеся задачи объектного проектирования с помощью проверенных структур.
  • Разделять обязанности, чтобы код было проще расширять и тестировать.
  • Использовать общую терминологию проектирования при обсуждении архитектуры в команде.

Пример кода

Запустить код →
main.py
class ChatRoom:
    # Mediator: route colleague communication through a coordinator.
    def send(self, sender, recipient, message):
        # Coordinate communication between colleague objects.
        recipient.receive(sender.name, message)


class User:
    def __init__(self, name, room): self.name, self.room = name, room
    def send(self, recipient, message): self.room.send(self, recipient, message)
    def receive(self, sender, message): print(f"{self.name} from {sender}: {message}")


room = ChatRoom()
ada, lin = User("Ada", room), User("Lin", room)
ada.send(lin, "Hello")

Ожидаемый результат

Lin from Ada: Hello

Как это работает

Этот пример демонстрирует Mediator Pattern in Python. Измените входные данные, чтобы изучить работу кода.

Измените значения и запустите программу в онлайн-компиляторе Python CodeUtility без локальной установки Python.

Практические задания

Изменяйте входные данные и проверяйте граничные случаи перед работой с большими наборами.

  1. Замените предметную область примера, сохранив структуру паттерна.
  2. Сравните паттерн с более простой реализацией и объясните компромиссы.
  3. Напишите тесты для каждого участника перед добавлением новой реализации.
Запустить в Python IDE →