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 для критичных потоков.