Перейти к основному содержимому

ADR-0039: DDD Rich Model vs Anemic Model — Правила Выбора

Статус

Принято.

Контекст

Pin объединяет core domains с нетривиальными инвариантами и supporting domains, где бизнес-логика минимальна. Применение Rich Model везде усложняет простые CRUD-сервисы, а применение Anemic Model везде лишает защиты core invariants.

Решение

Нормативный стандарт выбора и применения rich model вынесен в DDD И Rich Model: Правила И Практика.

В рамках этого ADR фиксируется архитектурное решение:

  • core domains с lifecycle и invariants обязаны использовать rich model;
  • supporting/reference domains могут использовать anemic model;
  • application handlers оркестрируют use case, но не подменяют aggregate decisions;
  • integration events публикуются после domain decision через outbox.

Последствия

  • Core domains защищены кодом и тестами, а не только схемой БД.
  • Supporting domains остаются простыми и не перегружены DDD ceremony.
  • Команды используют единый критерий выбора модели, а не локальные договоренности.

Ссылки

Обратные ссылки

Автоссылки: где используется этот документ.