Ключевые концепции
- Entity — объект с уникальной идентичностью (User, Order)
- Value Object — объект без идентичности; равенство по значению (Money, Email)
- Aggregate — кластер объектов с одним корнем (Order + OrderItems)
- Repository — абстракция хранения агрегатов
- Domain Event — событие, произошедшее в домене (
OrderPlaced) - Bounded Context — граница, в которой модель и язык имеют однозначный смысл
Когда оправдан
DDD добавляет сложность. Оправдан для сложных доменов с богатой бизнес-логикой. Для простых CRUD-приложений — избыточен.