Посредник () — поведенческий шаблон проектирования, обеспечивающий взаимодействие множества объектов, формируя при этом слабое зацепление и избавляя объекты от необходимости явно ссылаться друг на друга.
Проблема Обеспечить взаимодействие множества объектов, сформировав при этом слабую связанность и избавив объекты от необходимости явно ссылаться друг на друга.
Решение Создать объект, инкапсулирующий способ взаимодействия множества объектов.
Преимущества Устраняется связанность между "Коллегами", централизуется управление.
Структура
Mediator – "Посредник" ConcreteMediator – "Конкретный посредник" Классы Colleague – "Коллеги"
Описание "Посредник" определяет интерфейс для обмена информацией с объектами "Коллеги", "Конкретный посредник" координирует действия объектов "Коллеги". Каждый класс "Коллеги" знает о своем объекте "Посредник", все "Коллеги" обмениваются информацией только с посредником, при его отсутствии им пришлось бы обмениваться информацией напрямую. "Коллеги" посылают запросы посреднику и получают запросы от него. "Посредник" реализует кооперативное поведение, пересылая каждый запрос одному или нескольким "Коллегам".
Примеры
Пример на Java
Пример на C#
Пример на C++
Пример на Python
Пример на Delphi
Ссылки Паттерн Mediator (посредник) — назначение, описание, особенности и реализация на C++. Паттерны для масштабируемых JavaScript-приложений. Глава 10. Паттерн «Медиатор» — описание, пример реализации.
Категория:Шаблоны проектирования