intermediate
Facade
Expose narrow workflow-oriented API над complex subsystems, чтобы callers не зависели от internal orchestration details.
Facade даёт узкий workflow-oriented API над сложной подсистемой, чтобы callers не оркестрировали множество низкоуровневых шагов. Это не повод вечно прятать плохой дизайн — он координирует существующие части под use case: checkout, onboarding, media upload.
На интервью: отличите Facade от Adapter и настоящего domain service. Когда facade улучшает ergonomics, не скрывая нужные детали.
Типовые ошибки: god facades со знанием всех подсистем; opaque blobs на выходе; обход facade в половине кодовой базы.
Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.
Чеклист:
- Методы facade вокруг user journeys.
- Границы подсистем видны maintainers.
- Документируйте, чего facade не гарантирует.
- Тесты на уровне facade для критичных потоков.