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.
- Команды используют единый критерий выбора модели, а не локальные договоренности.
Ссылки
Обратные ссылки
Автоссылки: где используется этот документ.
- ddd-rich-model-rules.md (1): DDD И Rich Model: Правила И Практика