【问题标题】:Defining many-to-many relationships in DDD在 DDD 中定义多对多关系
【发布时间】:2009-07-27 16:21:09
【问题描述】:

在 DDD 中是否将多对多表结构定义为值对象?如果我的多对多结构有唯一的 id 怎么办? 另外,一对多的关系呢?例如,如果我有 2 个结构 Post 和 Comment (分别)一对多(分别),Comment 就不是一个值对象,因为它在技术上不能没有相应的 Post 存在?但是如果它有一个唯一的 Id (Comment_Id) 呢?这使它可识别并因此成为非价值对象实体?那么,它是什么?

谢谢!

【问题讨论】:

标签: object repository domain-driven-design


【解决方案1】:

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

如果你还想用 DDD,没问题。一些准则:

  1. 如果您想从业务逻辑之外引用某些东西,它应该是实体。因此,如果您需要引用 cmets(否则您将无法有效管理它们),您需要将 cmets 设为实体。
  2. 您必须最大限度地保持无知。这意味着无法将标识符暴露给您的业务逻辑。
  3. 多对多和一对多关系使用普通集合建模。 ORM 工具应正确映射此集合。

希望这有助于在您的情况下避免 DDD。

【讨论】:

  • 我不是在设计博客。我给出的示例只是我认为很多人都熟悉的东西,它显示了我的模型遇到的同样问题。
  • 你不只是在问方向。你问飞机的方向。我的回答是不要使用飞机,因为半英里内这将不是最佳解决方案。我的答案目标明确吗?
  • 嘿,迈克,我是对路线发表评论的人,但是自从您回答后,我删除了我的评论并投票赞成您的回答。也许你和我的困惑未知。
猜你喜欢
  • 2011-08-13
  • 2011-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多