Ssylka

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

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

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

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

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


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

17904Символы власти вестготских женщин: орлиные броши из Аловеры 17903Как одна строка кода вскрыла уязвимость целой экосистемы? 17902Lufthansa заменит 4000 административных сотрудников искусственным интеллектом 17901Каков истинный срок годности генетической информации? 17900Сможет ли закон догнать искусственный интеллект, предлагающий психотерапию? 17899Цепная реакция заражения листерией из-за одного поставщика 17898Холодный расчет: как современная наука изменила правила стирки 17897Деревянная начинка: массовый отзыв корн-догов из-за угрозы травм 17896Случайное открытие, спасшее 500 миллионов жизней 17895Мастерство мобильной съемки: полное руководство по камере iPhone 17894Что мог рассказать личный набор инструментов охотника эпохи палеолита? 17893Почему крупнейшая звездная колыбель млечного пути производит непропорционально много... 17892Обречены ли мы есть инжир с мертвыми осами внутри? 17891Почему AI-помощникам выгодно лгать, а не признавать незнание? 17890Является ли творчество искусственного интеллекта предсказуемым недостатком?