В двух словах, мой домен позволяет пользователям отправлять истории (о человеке или группе людей), которые содержат множество различных состояний и переходов, в которых он может находиться, и какое поведение разрешено в этих состояниях.
Итак, в этом состоянии дизайна пользователи создают черновики и отправляют свои истории. Мой домен содержит истории, команды и участников команды.
Мой первый вопрос: кто несет ответственность за загрузку всего агрегата? Должен ли прикладной уровень определять это в зависимости от поставленной задачи? Должен ли он действительно знать, что нужно загрузить все данные? Или это должно принадлежать хранилищу, которое всегда загружает связанные данные? Может быть, использовать ленивую загрузку (прозрачность может быть немного страшной)?
Для моей следующей задачи мне нужно разрешить добавлять комментарии к историям и создавать записи всякий раз, когда пользователь просматривает историю. Будет ли это принадлежать совокупности, так как они не имеют смысла без истории? Вот мое замешательство. Если они принадлежат агрегату, мне нужно будет загрузить весь агрегат при добавлении комментария или просто при добавлении записи, которую он просматривал?
Любая помощь будет великолепна, и, как вы видите, я новичок в DDD.
Спасибо!