advanced

Onion Architecture

Моделируйте concentric layers вокруг domain core, чтобы outer infrastructure зависела от inner policy, а не наоборот.

Onion Architecture моделирует концентрические слои вокруг domain core: infrastructure зависит от application и domain, не наоборот. Domain services и aggregates у центра; application services координируют use cases; infrastructure реализует repositories и messaging снаружи.

На интервью: Onion vs Hexagonal и Clean Architecture — общее dependency rule, разный словарь. Где кончаются application services и начинаются domain services.

Типовые ошибки: onion с пустым центром; domain services только оборачивают repositories; infrastructure в application через shared ORM models.

Чеклист:

  • Domain model на языке бизнеса.
  • Application layer координирует transactions.
  • Infrastructure ссылается только на внутренние interfaces.
  • Тесты domain без БД где возможно.