在DDD中定义多对多关系

时间:2009-07-27 16:21:09

标签: object repository domain-driven-design

DDD中的多对多表结构是否定义为值对象?如果我的多对多结构具有唯一ID,该怎么办? 还有,一对多关系怎么样?例如,如果我有2个结构Post&注释1对多(分别)注释不会是一个值对象,因为它在没有相应的帖子的情况下技术上不可能存在?但如果它有唯一的ID(Comment_Id)怎么办?这使它可识别,因此是一个非价值对象实体?那么,它是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可能不需要DDD用于博客。 DDD更多的是关于业务逻辑。您将没有足够的业务逻辑来从DDD中受益。

如果您仍想使用DDD,不是问题。一些指导原则:

  1. 如果您希望某些内容可以从业务逻辑之外进行引用,那么它应该是实体。因此,如果您需要参考评论(否则您将无法有效地管理它们),您需要将您的评论作为实体。
  2. 你必须最大限度地坚持无知。这意味着无法将标识符公开给您的业务逻辑。
  3. 使用普通集合建模多对多和一对多关系。 ORM工具应正确映射此集合。
  4. 希望这有助于在您的情况下避免DDD。