Я изо всех сил пытался разработать совокупные корни для области встреч.
Домен. Встреча содержит один или несколько пунктов повестки дня. Каждый AgendaItem имеет раздел примечаний, а также каждый AgendaItem имеет одну или несколько задач.
Дизайн. Теперь, руководствуясь рекомендациями, я пытаюсь сохранить более мелкие совокупные корни в рамках ограниченного контекста. поэтому у меня есть MeetingAggregateRoot и AgendaItemAgreegateRoot.
Бизнес-правило: у каждого собрания будет несколько пунктов повестки дня (каждый пункт повестки дня может иметь один или несколько подпунктов). Но они должны быть упорядочены по порядку, и они не должны иметь повторяющейся последовательности.
Если я сохраню один AR как MeetingAR с AgendaItem как Entity, то MeetingAR может взять на себя ответственность за поддержание последовательности AgendaItem в порядке. Но тогда у меня также есть несколько задач для каждого AgendaItem, поэтому я решил сохранить два отдельных AR как MeetingAR и AgendaItem AR (AgendaItemAR будет иметь объект задачи).
Теперь вопрос в том ... Как мне разработать AR, чтобы MeetingAR отвечал только за действия, связанные с встречами. AgendaItemAR несет ответственность только за свои действия, и при этом сохраняется последовательность для всех пунктов повестки дня собрания.
Любая помощь приветствуется по этому поводу.
AgendaItem --* Task
не позволит этого. - person plalx   schedule 19.09.2018