Посредник (шаблон проектирования)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Посредник
Mediator
Тип поведенческий
Описан в Design Patterns Да

Посредник (англ. Mediator) — поведенческий шаблон проектирования, обеспечивающий взаимодействие множества объектов, формируя при этом слабое зацепление и избавляя объекты от необходимости явно ссылаться друг на друга.

Проблема[править | править код]

Обеспечить взаимодействие множества объектов, сформировав при этом слабую связанность и избавив объекты от необходимости явно ссылаться друг на друга.

Решение[править | править код]

Создать объект, инкапсулирующий способ взаимодействия множества объектов.

Преимущества[править | править код]

Устраняется связанность между "Коллегами", централизуется управление.

Структура[править | править код]

UML диаграмма, описывающая структуру шаблона проектирования Посредник
  • Mediator – "Посредник"
  • ConcreteMediator – "Конкретный посредник"
  • Классы Colleague – "Коллеги"

Описание[править | править код]

"Посредник" определяет интерфейс для обмена информацией с объектами "Коллеги", "Конкретный посредник" координирует действия объектов "Коллеги". Каждый класс "Коллеги" знает о своем объекте "Посредник", все "Коллеги" обмениваются информацией только с посредником, при его отсутствии им пришлось бы обмениваться информацией напрямую. "Коллеги" посылают запросы посреднику и получают запросы от него. "Посредник" реализует кооперативное поведение, пересылая каждый запрос одному или нескольким "Коллегам".

Примеры[править | править код]

Пример на Java[править | править код]

Пример на C#[править | править код]

Пример на C++[править | править код]

Пример на Python[править | править код]

Пример на Delphi[править | править код]

Ссылки[править | править код]