У меня есть модель домена, содержащая форум.Управление доменом Дизайн - Хранилища и совокупные корни
У меня есть форум, темы и сообщения.
Этот форум является самостоятельным субъектом. Т.е. он не содержит поток как часть совокупности. Это связано с тем, что потоки не принадлежат определенному форуму (вы можете перемещать поток на другой форум).
Я не знаю, должен ли я моделировать сообщения как часть агрегата потока. Сообщения не могут существовать без потока. Удалите поток, и вы должны удалить сообщения, которые сообщают мне, чтобы сообщения занимали часть агрегата потока.
Единственное, что сообщения также могут быть выбраны отдельно при их редактировании. Т.е. при редактировании сообщения его id.
Таким образом, я думаю, что наличие пост-хранилища было бы хорошим для этой цели, вместо того, чтобы получать поток, а затем извлекать правильный пост с помощью метода на сущности потока.
Единственное, что имеет отдельный почтовый репозиторий, заключается в том, что при добавлении сообщений, то есть в addPost (Post), вам необходимо убедиться, что идентификатор потока был назначен объекту post. С агрегатом, я думаю, у вас просто будет метод addPost для объекта потока.
Должен ли я думать о ограниченных контекстах? Могу ли я иметь почтовый объект и репозиторий, а также иметь агрегат потоков, который также включает в себя почтовые объекты?
Если я не пошел с агрегатом потока/сообщения, как бы я обрабатывал удаление почты, когда я удаляю поток? Должен ли я создать службу, которая вызывает deleteThread (Thread) в репозитории потоков, и deletePostsByThreadId (id) в почтовом репозитории?
Что такое способ DDD?
Я признаю, что я думал, что это может быть не лучшее решение, но кажется, что люди придумывают примеры для досок объявлений и торговых систем и все время? – 2009-10-27 21:02:27
+1, я не уверен, будет ли это здесь (я не думаю, что у нас достаточно информации о домене), и общий вопрос, который поднимает этот вопрос, по-прежнему интересен, но передача DDD, безусловно, заслуживает рассмотрения , –
Так зачем же переходить на DDD? Есть ли строка, в которой приложение не подходит для DDD? – 2009-10-28 01:07:58