【问题标题】:How to Persist N Value Objects in an Aggregate Root如何在聚合根中保留 N 个值对象
【发布时间】:2015-06-30 12:19:01
【问题描述】:

在 DDD 中,在具有 Address 值对象的 Person 的聚合根中,将该地址映射到数据库表很简单:只需将 Address 对象的属性嵌入到记录中即可。但是当 Person 有一个 List 时,计数可能会发生变化呢?我们是否创建了一个单独的表来存储我们所有的地址(从而对每个地址施加一些准身份),并且每一行都有一个 FK 返回它所属的人?

【问题讨论】:

    标签: domain-driven-design aggregateroot value-objects


    【解决方案1】:

    有一个对象关系阻抗不匹配的好例子。您可以做的是拥有一个层超类型,其中存在持久性问题,例如 id 字段。因此,从您的持久层的角度来看,VO 是一个实体,但仍被建模为域中的 VO。

    您可以阅读更多关于上述here的信息。

    【讨论】:

    • 感谢您的洞察力和链接。我知道这是题外话,但您认为 NHibernate 在支持 DDD 的任务上优于实体框架?
    • @BCA,很遗憾我从未使用过实体框架,但 Vaughn Vernon 写了一篇关于如何有效使用实体框架的博客vaughnvernon.co/?p=879
    猜你喜欢
    • 2020-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 2021-09-02
    • 1970-01-01
    • 2012-01-21
    • 2022-10-13
    相关资源
    最近更新 更多