advanced

Layering

Разделяйте UI, application orchestration, domain rules, persistence и integration layers, когда это снижает change risk.

Слоение разделяет UI, оркестрацию приложения, доменные правила, персистентность и интеграции, чтобы изменения оставались локальными. Хорошие слои определяются ответственностью и частотой изменений, а не только именами папок. Presentation layer не должен содержать SQL; доменная политика не должна зависеть от HTTP-кодов.

На интервью: объясните, когда слои окупаются, а когда превращаются в церемонию. Упомяните направление зависимостей внутрь и границы транзакций.

Типовые ошибки: анемичная доменная модель со всей логикой в сервисах; слои, протекающие типами через границы; дублирование DTO-маппинга без явного владельца.

Чеклист:

  • Назовите ответственности и допустимые зависимости каждого слоя.
  • Держите доменные правила без импортов фреймворка.
  • Размещайте интеграцию и I/O на внешнем краю.
  • Обоснуйте каждый слой реальным сценарием изменения.