作为练习,我试图在.NET中创建一个简单的博客应用程序,使用DDD。到目前为止,我有User,Topic和Comment类。但问题是如何将评论与用户和主题联系起来?如果我说User和Topic是聚合根,那么Comment属于哪里?
答案 0 :(得分:0)
聚合可能与其他聚合根有关联。
e.g。评论可能与主题和用户都有关联。 无论如何我会如何建模它,聚合根是一致性的边界。 主题不需要以任何方式与其注释保持一致,因此注释不需要是该聚合的一部分。 用户不需要与他或她的所有评论保持一致,因此用户也不需要知道评论。
我会通过评论库获取特定主题的评论。 e.g。
var comments = commentRepo.FindCommentsForTopic(someTopic);
//or by topic id for pragmatic reasons.