Ssylka

Упрощенная архитектура домена: отказ от агрегатов в пользу сущностей

В сложных системах часто возникают споры о выборе между богатой и анемичной моделями предметной области. Первая обеспечивает инкапсуляцию и структурирование, но может быть громоздкой. Вторая — проста для понимания, но порождает хаос и дублирование бизнес-логики. Проблема заключается в определении границ агрегатов, которые часто не могут вместить в себя все проверки. Это приводит к дублированию кода и усложнению логики.
Упрощенная архитектура домена: отказ от агрегатов в пользу сущностей
Изображение носит иллюстративный характер

Отказ от агрегатов, при этом сохраняя богатую модель, позволяет сущностям обращаться к другим сущностям напрямую через репозитории. Репозитории становятся коллекциями сущностей в оперативной памяти, а не абстракциями над хранилищем данных. Это позволяет избавиться от транзакций на уровне модели, так как все проверки выполняются в памяти. Логика координации между сущностями обеспечивается делегатами или событиями, что позволяет соблюсти инкапсуляцию.

В результате убираются сервисы, отвечающие за координацию состояний сущностей, остаются только сервисы, выполняющие действия, не относящиеся к конкретной сущности. Репозиторий заполняет свои коллекции данными в момент запроса. Уровень приложения отвечает за загрузку данных из базы данных.

В итоге, архитектура становится проще, поскольку нет необходимости в сложных взаимодействиях между агрегатами. Репозитории становятся простыми и легкими, так как больше не нужно анализировать сложные связи. Сущности самостоятельно управляют своим состоянием, что делает код более понятным.


Новое на сайте

15287Жидкость, восстанавливающая форму: нарушение законов термодинамики 15286Аркадия ведьм: загадка Чарльза годфри Леланда и её влияние на современную магию 15285Кто станет новым героем Звёздных войн в 2027 году? 15283Ануше Ансари | Почему космические исследования важны для Земли 15282Гизем Гумбуская | Синтетический морфогенез: самоконструирующиеся живые архитектуры по... 15281Как предпринимателю остаться хозяином своей судьбы? 15280Люси: путешествие к древним обломкам солнечной системы 15279Роберт Лиллис: извлеченные уроки для экономически эффективных исследований дальнего... 15278Почему супермен до сих пор остаётся символом надежды и морали? 15277Райан Гослинг в роли нового героя «Звёздных войн»: что известно о фильме Star Wars:... 15276Почему экваториальная Гвинея остаётся одной из самых закрытых и жестоких диктатур мира? 15275Почему морские слизни становятся ярче под солнцем? 15274Глен Вейль | Можем ли мы использовать ИИ для построения более справедливого общества? 15273Лириды: где и как увидеть древний звездопад в этом апреле? 15272Сдержит ли налог на однодневных туристов в Венеции наплыв гостей?