Design patterns 使用领域驱动设计的非常基本的评论系统

Design patterns 使用领域驱动设计的非常基本的评论系统,design-patterns,domain-driven-design,Design Patterns,Domain Driven Design,我不想把这个问题说得太宽泛,但是对于DDD,没有简单的问题 为了学习DDD,我尝试为遗留博客系统制作评论系统 下面的屏幕显示了我到目前为止所拥有的内容(不全是tbh,但我不想让它太模糊)。 正如您所看到的,“评论系统”只有一个上下文。要使它与我的博客应用程序一起工作,我必须创建ACL(反腐败层) 我对此没有什么问题 这些对象中的哪一个应该是聚合?我想这不是一个后评论,所以也许我应该把这篇文章作为一个聚合,并将它的所有评论关联到那里 如果我想获得用户的头像图像路径,它存储在遗留数据库中,对于我

我不想把这个问题说得太宽泛,但是对于DDD,没有简单的问题

为了学习DDD,我尝试为遗留博客系统制作评论系统

下面的屏幕显示了我到目前为止所拥有的内容(不全是tbh,但我不想让它太模糊)。

正如您所看到的,“评论系统”只有一个上下文。要使它与我的博客应用程序一起工作,我必须创建ACL(反腐败层)

我对此没有什么问题

  • 这些对象中的哪一个应该是聚合?我想这不是一个后评论,所以也许我应该把这篇文章作为一个聚合,并将它的所有评论关联到那里
  • 如果我想获得用户的头像图像路径,它存储在遗留数据库中,对于我通过“getPostComments”服务获得的每个评论,我该怎么做?是否为每个用户提供单独的查询
  • 对于不同的上下文,创建单独的用户和帖子实体是一种好的实践吗
  • 在存储库实现中,我必须从行数据构建PostComment实体,我是否应该在域层为其创建工厂?那个工厂只会在那个实现中使用,所以我不确定
  • 我创建了一个PostComment实体,而不仅仅是一个评论,因为以后我必须添加不同类型的评论,比如BlogComment或CommentReply


    提前感谢(顺便说一句,我读了埃文斯先生的书)。

    既然还没有人回答这个问题,而且我已经找到了解决办法,我就把它贴在这里

  • 事实证明,PostComment是一个聚合,因为我需要检索一个PostComment(例如,为了提高评级)
  • 为了获得作者发表评论的数据,我们需要创建另一个表示评论作者(UL)的聚合。这意味着我们还需要该AR的存储库
  • 现在我可以说:肯定是的
  • 我正在存储库实现中使用factory

  • 我不确定这个基本系统是否有足够的复杂性来保证DDD,如果您对一个示例感兴趣,请看这里,我认为DDD可以用于任何项目(Martin Fowler写道,如果我没有错的话)。当然,这是否值得存在一个问题,但这是另一个问题。在后面的这个示例中,我想添加嵌套注释、注释评级、通知等,所以它实际上并没有那么简单。