Domain driven design 应用于领域驱动设计原则的最佳实践?

Domain driven design 应用于领域驱动设计原则的最佳实践?,domain-driven-design,uml,Domain Driven Design,Uml,领域驱动的设计有时真的会令人困惑,因为我对这项技术相当陌生,所以我想就目前困扰我的那些场景给出一些答案 这里有一个简单的图表,用DDD原理来表示我的问题。我的问题是关于聚合根、域验证和“方法”或最佳实践 在这个场景中,您将如何实现一种方法来计算用户编写的注释数?这是“审查”中的一种方法吗?或者最好是存储库中的方法(ReviewRepository) 如果需要,我如何让其他实体访问注释?有了这个场景,这是否意味着评论不再是“评论”集合的一部分 如果注释与其他实体有组合关系呢?您将如何管理对该实体的

领域驱动的设计有时真的会令人困惑,因为我对这项技术相当陌生,所以我想就目前困扰我的那些场景给出一些答案

这里有一个简单的图表,用DDD原理来表示我的问题。我的问题是关于聚合根、域验证和“方法”或最佳实践

  • 在这个场景中,您将如何实现一种方法来计算用户编写的注释数?这是“审查”中的一种方法吗?或者最好是存储库中的方法(ReviewRepository)
  • 如果需要,我如何让其他实体访问注释?有了这个场景,这是否意味着评论不再是“评论”集合的一部分
  • 如果注释与其他实体有组合关系呢?您将如何管理对该实体的访问?注释是由该实体负责还是由根负责
  • 关于这个模型还有其他建议或事实吗?在设计模型时,我应该遵循哪些最佳实践
  • 谢谢


    注意:答案必须符合DDD原则

    审查实体中有一个小错误。Add方法中的“Compte”是“Account”,应该是A而不是C

    在这个场景中,您将如何实现一种方法来计算用户编写的注释数

    责任属于审查。这是评论的集合。计数是任何聚合的一级功能

    如果需要,我如何让其他实体访问评论

    评论可以通过评论获得。评论是评论的集合

    如果注释与其他实体有组合关系呢

    如果没有具体的例子,“如果”问题很难回答。毕竟,设计是由问题域驱动的,而不是随机的想法

    如果某个“其他”实体似乎也是由评论组成的,您必须回到领域专家那里,尝试确定真正的责任在哪里


    一对问题是“如果删除了评论,评论会怎么样?”和“如果删除了神秘的‘其他’评论,评论会怎么样?”这有助于找到责任。

    “答案必须符合DDD原则”这是否意味着这是家庭作业?哈哈。一点也不。我只是想从一个真正了解DDD的人那里得到一个答案。如果这是一个家庭作业,我不会来这里,我会简单地问我的老师。实际上,我做了这个图表,并在这个简单的应用程序上工作,以了解一些基本概念。