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.
- Тесты сообщений компонентов изолированно.