如何建模价值对象关系?

时间:2009-12-18 20:22:56

标签: repository domain-driven-design value-objects object-relationships

上下文:
我有一本实体书。一本书可以有一个或多个描述。描述是价值对象。

问题:
描述可以比另一描述更具体。例如,如果描述包含书籍的内容以及封面的外观,则它比仅讨论封面外观的描述更具体。我不知道如何建模以及如何让存储库保存它。了解这些关系并不是本书和书籍描述的责任。其他一些对象可以处理此问题,然后请求存储库保存关系。但是BookRepository.addMoreSpecificDescription(Description,MoreSpecificDescription)似乎很难保存。

DDD中如何处理这样的事情?

3 个答案:

答案 0 :(得分:7)

答案 1 :(得分:4)

首先,我认为评论应该是实体。

其次,为什么要尝试建立评论之间的关系?我没有看到它们之间的自然关系。 “更具体而不是”太模糊,无法用作关系。

如果您对情况建模有困难,那表明可能没有关系。

答案 2 :(得分:1)

我同意杰森的观点。我不知道你的理由是什么让评论重视对象。

我希望BookReview有BookReviewContentItems,这样你就可以在BookReview上调用一个方法来决定它是否足够具体,方法根据查询其内容项集合来决定。