Паттерн Посредник (Mediator) — поведенческий паттерн проектирования, который определяет объект (посредника), инкапсулирующий взаимодействие между группой объектов (коллегами). Посредник обеспечивает слабую связанность, не позволяя объектам ссылаться друг на друга напрямую.
Основные компоненты:
- Mediator (Посредник): Объявляет интерфейс для взаимодействия с объектами-коллегами.
- ConcreteMediator (Конкретный Посредник): Реализует интерфейс Посредника и координирует взаимодействие между коллегами. Знает о всех коллегах и их взаимодействиях.
- Colleague (Коллега): Каждый объект-участник. Знает только своего Посредника и взаимодействует с другими коллегами только через него.
Преимущества:
- Снижение связанности: Объекты не зависят друг от друга напрямую.
- Централизация логики взаимодействия: Вся логика взаимодействия собрана в одном месте (Посреднике).
- Упрощение модификации: Изменение взаимодействия между объектами не требует изменения самих объектов.
Недостатки:
- Посредник может стать монолитным: Если логика взаимодействия сложная, Посредник может разрастись.
Пример: Диалог пользовательского интерфейса.
python