use*_*924 2 domain-driven-design
抱歉英语不好。
在学习 DDD 时,我有一个关于聚合的问题。
在Board域中,我们有两个实体,一个是Post,另一个是Comment。
我认为Comment没有 就不可能存在Post。所以我认为Comment应该在Post聚合中,并且Board域有一个聚合,其根是Post。
但从不同的角度来看,同一个聚合中的实体具有相同的生命周期,因此Comment生命周期与 的生命周期不同Post,修改Post不影响Comment,反之亦然。
所以Board域有两个聚合,
一个是根是的聚合Comment,另一个是根是的聚合Post
这两个想法让我感觉很混乱。
我以前也去过那里,而且我是通过艰难的方式才学会的。起初,将评论部分包含在帖子聚合中似乎很自然,但以下是您可能会遇到此设计的限制。
将 PostComment 作为单独的聚合并保留帖子的引用会更安全。作为设计聚合的一般规则,您应该使它们尽可能小。