DDD落地过程中关于值对象建模的思考

2021-09-18  本文已影响0人  后厂村老司机

前言

值对象是状态不可变的、可整体替换的、用于度量和描述领域中某件东西的对象。在落地DDD过程中我们常常遇到一个概念到底是建模成实体好还是建模成值对象好这种问题,其实各DDD大神早已经给出了答案,prefer value object to entity!

值对象建模

0、值对象不包含改变属性的方法

1、值对象要包含领域逻辑

2、迪米特法则

3、告诉而非询问原则

在落地实践中,以上两个原则都是可以落地的,区别在于聚合根实体是否直接代理值对象的方法,这也决定了聚合根实体中代理方法代码量的多少。在落地过程中可以根据自己的实际需要进行选择。

上一篇 下一篇

猜你喜欢

热点阅读