Skip to content
5 / 15

Что такое агрегат, сущность, объект-значение и ограниченный контекст в DDD?

Сущность имеет идентичность и живёт во времени, объект-значение неизменяем и сравнивается по содержимому, агрегат — группа объектов с общими инвариантами и единственной дверью внутрь, ограниченный контекст — область, где термины значат одно и то же. Дальше всё выводится из двух правил. Границы агрегата — это границы транзакции: одна транзакция меняет один агрегат, а между агрегатами согласуют асинхронно. На чужие агрегаты ссылаются по идентификатору, а не объектом, иначе загрузка одного заказа утащит из базы половину системы. Размер агрегата — компромисс: крупный проще в правилах и хуже в конкурентности, мелкий наоборот. Единый язык — не глоссарий на бумаге, а те же самые слова в коде, в тестах и в разговоре с продуктом.

Что такое агрегат, сущность, объект-значение и ограниченный контекст в DDD? | JScriptiser