DDD - совокупность корней в очень простой модели блога - PullRequest
0 голосов
/ 10 декабря 2010

В качестве упражнения я пытаюсь создать простое приложение для блогов в .NET, используя DDD.Пока что у меня есть классы User, Topic и Comment.Но проблема в том, как связать комментарий с пользователем и темой?Если я скажу, что Пользователь и Тема являются совокупными корнями, то к чему относится Комментарий?

1 Ответ

0 голосов
/ 12 декабря 2010

Агрегаты могут иметь ассоциации с другими агрегатными корнями.

например. комментарий может иметь связь как с темой, так и с пользователем. Вот как бы я все это моделировал, совокупные корни - это границы согласованности. Тема не обязательно должна каким-либо образом согласовываться со своими комментариями, поэтому комментарии не обязательно должны быть частью этой совокупности. Пользователю не нужно согласовываться со всеми его или ее комментариями, поэтому пользователям также не нужно знать о комментариях.

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

var comments = commentRepo.FindCommentsForTopic(someTopic); 
//or by topic id for pragmatic reasons.
...