intermediate

Layered architecture

Разделяйте presentation, application, domain и infrastructure responsibilities, сохраняя explicit dependency direction и transaction boundaries.

Слоистая архитектура организует presentation, application, domain и infrastructure с явным направлением зависимостей. Прагматичный default для enterprise, когда нужна знакомая структура и transaction boundaries совпадают с use cases. Слои логические; deploy может оставаться монолитным.

На интервью: feature через слои на доске. Где DTO mapping и почему domain не зовёт вверх.

Типовые ошибки: жёсткие слои запрещают уместный cross-cutting; presentation logic в application services; схема БД диктует domain.

Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.

Чеклист:

  • Ответственности каждого слоя документированы.
  • Зависимости внутрь, к domain.
  • Cross-layer types маппятся на границах.
  • Integration tests на реалистичное взаимодействие слоёв.