23 | DDD: объекты значения, сущности и агрегаты
MediaTen – digital-агентство | Приводим в порядок код и мысли
Продолжаем разбор Domain-Driven Design и переходим к тактическим шаблонам. В уроке подробно разбираем объекты значения, сущности и агрегаты: их роль в модели, правила проектирования, типовые ошибки и реальные примеры из практики. Отдельно обсуждаем анимичную и богатую модель, работу с инвариантами и границы ответственности внутри агрегатов. Таймкоды: 00:00:03 — Тактические шаблоны DDD и их роль в модели 00:01:00 — Объект значения: определение и ключевые свойства 00:01:56 — Пример объекта значения (цена) 00:03:10 — Валидность данных и отказ от null 00:04:06 — Атомарность и неизменяемость объектов значения 00:05:42 — Клонирование объектов и проблемы валидации 00:07:07 — Побочные эффекты и чистота объектов значения 00:08:13 — Инкапсуляция логики внутри value object 00:09:31 — Сущность: идентичность и жизненный цикл 00:12:18 — Анимичная модель и богатая доменная модель 00:13:53 — Принципы проектирования сущностей 00:14:54 — Правила изменения сущностей 00:15:04 — Типовые ошибки при работе с сущностями 00:16:02 — Финальность, наследование и композиция 00:17:23 — Агрегаты и корень агрегата 00:18:39 — Идентичность и целостность агрегатов 00:19:57 — Доменные методы и инварианты агрегата 00:21:30 — Изменение адреса доставки через корень агрегата 00:22:23 — Что будет дальше: репозитории, сервисы, события 00:22:56 — Книги и материалы по агрегатам 00:23:33 — Сущности против анимичной модели 00:26:07 — Разница между валидацией и DTO