intermediate
Separation of Concerns
Разделяйте responsibilities вроде UI, orchestration, domain rules, persistence и integration, чтобы каждая менялась по своей reason.
Separation of Concerns делит систему так, чтобы каждая часть решала свою задачу — UI rendering, application orchestration, domain rules, persistence, интеграции. Смена HTML layout не должна тянуть правки SQL при чистых слоях.
SoC горизонтально (layers) и вертикально (feature slices) — оба снижают blast radius.
На интервью: concerns в messy full-stack handler и границы слоёв.
Типовые ошибки: жёсткие слои без pragmatic shortcuts; anemic domain с логикой в controllers; cross-layer imports мимо public API.
Компромисс — навигация по файлам против изолированных изменений и ясных testing seams.
Чеклист:
- Concerns, меняющиеся независимо.
- Зависимости внутрь к domain.
- Узкие module API.