PHP Patterns

Шаблон проектирования - Посредник

Определение

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

Пример:

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

Суть

Реализация примера на github.com.

Объекты Helicopter и Airplane оповещают Dispatcher о действиях. Dispatcher дает команду остальным компонентам.


$mediator = new Dispatcher();

$c1 = new Helicopter();
$c2 = new Airplane();

$mediator->addComponent($c1);
$mediator->addComponent($c2);

echo "Client triggers operation landTo1.\n";
$c1->landTo1();

Таким образом, компоненты не общаются между собой, а делают это через посредника.

Авторизуйтесь, что бы оставить комментарий!