Domain driven design 一系列简单的聚合根问题(领域驱动设计)

Domain driven design 一系列简单的聚合根问题(领域驱动设计),domain-driven-design,aggregate,root,Domain Driven Design,Aggregate,Root,关于领域驱动设计中的聚合根,我有几个(希望是)简单的问题: 将聚合根作为另一个聚合根的属性可以吗 在两个或多个聚合根中有一个给定的实体可以吗 我的最后一个问题有点复杂。我有一个网站,有几个实体,真正属于一个“网站”聚合根。它们是“新闻”、“产品”和“用户”。数据库中没有“网站”表,但“网站”似乎是这三个实体的良好聚合根。 这通常是如何实现的 谢谢 您是否有跨整个网站的一致性规则(涉及多个新闻产品和用途)?如果不是,这些实体(新闻、产品、用户)很适合作为您的聚合根 聚合根的主要功能是提供一致性和事

关于领域驱动设计中的聚合根,我有几个(希望是)简单的问题:

  • 将聚合根作为另一个聚合根的属性可以吗
  • 在两个或多个聚合根中有一个给定的实体可以吗
  • 我的最后一个问题有点复杂。我有一个网站,有几个实体,真正属于一个“网站”聚合根。它们是“新闻”、“产品”和“用户”。数据库中没有“网站”表,但“网站”似乎是这三个实体的良好聚合根。 这通常是如何实现的


    谢谢

    您是否有跨整个网站的一致性规则(涉及多个新闻产品和用途)?如果不是,这些实体(新闻、产品、用户)很适合作为您的聚合根

    聚合根的主要功能是提供一致性和事务语义边界

    要回答您的问题:

  • 是的,只要这样就行 引用的聚合根不可用 在设备的任何操作过程中进行修改 包含AR。这已连接到 一致性边界: 跨越多个 骨料不保证 产生一致的结果,以便 应该避免

  • 不,是实体 (不是AR)可以是 只有一个集合


  • 谢谢你的回答。考虑到新闻、产品和用户,实际上用户似乎属于不同的聚合根,因为新闻和产品实际上没有关联,它们是自己的聚合根。你对1和2的回答也有意义,因为我正在我的领域工作。