Совокупный корневой дизайн один-ко-многим заказанным элементам - PullRequest
0 голосов
/ 19 сентября 2018

Я изо всех сил пытался спроектировать совокупные корни для домена собраний.

Домен: Собрание имеет один или несколько пунктов повестки дня.Каждый AgendaItem имеет раздел примечаний, а также каждый AgendaItem имеет одну или несколько задач.

Дизайн Теперь, основываясь на рекомендациях, я пытаюсь сохранить меньшие совокупные корни в рамках ограниченного контекста.поэтому у меня есть MeetingAggregateRoot и AgendaItemAgreegateRoot.

Бизнес-правило: Каждое собрание будет иметь несколько пунктов повестки дня (каждый пункт повестки дня может иметь один или несколько пунктов подпрограммы).Но они должны быть упорядочены по последовательности, и они не должны иметь повторяющейся последовательности.

Если я оставлю один AR в качестве MeetingAR с AgendaItem в качестве сущности, то MeetingAR может взять на себя ответственность за поддержание последовательности AgendaItem в порядке.Но затем у меня есть несколько задач на AgendaItem, поэтому я решил оставить два отдельных AR, как MeetingAR и AgendaItem AR (AgendaItemAR будет иметь объект задачи).

Теперь вопрос в том ... Как мне разработать AR так, чтобыMeetingAR несет ответственность только за действия, связанные с заседаниями.AgendaItemAR несет ответственность только за свои собственные действия, и, тем не менее, последовательность поддерживается для всех пунктов повестки дня в рамках совещания.

Любая помощь оценивается в этом.

1 Ответ

0 голосов
/ 23 сентября 2018

Я думаю, что это не решение.Если жизненный цикл пунктов повестки дня зависит от собрания, повестка дня будет дочерним объектом собрания.Это была бы композиция, пункт повестки дня не мог существовать сам по себе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...