Я создаю систему для управления информацией о человеке. У меня постоянно растущий совокупный корень, называемый Лицом. Теперь у меня есть сотни связанных объектов, имя, адреса, навыки, отсутствие и т. Д. Меня беспокоит то, что Person AR одновременно ломает SRP и создает проблемы с производительностью, поскольку все больше и больше вещей (коллекции esp) добавляются к нему.DDD: Large Aggregate Root - Person
Я не вижу, как с помощью DDD разбить это на более мелкие объекты. На примере отсутствия. У человека есть коллекция записей отсутствия (начало, конец, причина). В настоящее время они управляются через Person (BookAbsence, ChangeAbsence, CancelAbsence). При добавлении отсутствий мне необходимо проверить все остальные абзацы, поэтому для выполнения этой проверки мне нужен объект, который имеет доступ к другим абзацам.
Я что-то упустил? Есть ли еще один AR, который я не идентифицировал? Раньше я бы это сделал с помощью службы «AbsenceManager», но хотел бы сделать это с помощью DDD.
Я довольно новичок в DDD, поэтому, возможно, я чего-то не хватает.
Большое спасибо ....
Возможно, «Отсутствие» - это еще один AR. Каковы инварианты, которые вам нужно выполнить с помощью «Человека» в отсутствие? – JefClaes