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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Шаблон проектирования
Посредник
Mediator
Тип:

поведенческий

Описан в Design Patterns

Да

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

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

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

Решение[править | править вики-текст]

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

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

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

Структура[править | править вики-текст]

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

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

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

Примеры[править | править вики-текст]

Пример на PHP5[править | править вики-текст]

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

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

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

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

Ссылки[править | править вики-текст]