Правильный размер DDD агрегата в проекте java (пружинный ботинок) - PullRequest
1 голос
/ 12 июля 2020

Я разрабатываю модули в веб-шахматах, и в некоторых случаях меня это смущает.

Я разделил несколько модулей (агрегатов): , photo, isActive)

Рейтинг (идентификатор, значение, список изменений рейтинга (дата, разница в рейтинге, идентификатор оппонента)) Покупки (идентификатор, деньги, список позиции покупки (id, shopItemType, date))

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

Если бы я создал одну совокупность (данные профиля, данные рейтинга и данные о покупках), она была бы слишком большой (SRP ??).

Не могли бы вы дать мне несколько советов?

1 Ответ

0 голосов
/ 14 июля 2020

Ваши агрегаты - нет. Это просто сущности (и / или объекты значений).

«A DDD aggregate - это кластер объектов домена, который может рассматриваться как единый блок» . Мартин Фаулер. Таким образом, агрегат должен содержать несколько сущностей или объектов значений с сущностью root.

Таким образом, вы можете создать сводный Профиль, содержащий сущности Ранжирования и Покупки.

Все зависит от бизнес-смысла вашей совокупности.

...