advanced

Mediator

Централизуйте collaboration rules между components, когда direct peer-to-peer dependencies создают tangled coordination.

Mediator централизует взаимодействие компонентов, чтобы peers не ссылались друг на друга напрямую — чаты, form wizards, UI controllers. Меньше запутанных зависимостей, но hub координации должен оставаться понятным.

На интервью: Mediator vs Observer и Event Bus. Когда mediator — god object и как делить.

Типовые ошибки: бизнес-правила в mediator вместо domain; синхронный mediator блокирует UI; нетестируемые mega-mediators.

Чеклист:

  • Компоненты говорят только через mediator interface.
  • Mediator маршрутизирует, а не свалка логики.
  • Делите mediators по bounded interaction area.
  • Тесты сообщений компонентов изолированно.