DDD中的值对象到底是什么(一)?

DDD中的值对象到底是什么(一)?
2022年09月12日 16:13 IT小皇子

DDD 官方对值对象的定义是:可以通过对象属性值来识别的对象,这种对象可以将多个相关性高的属性组合成为一个概念整体。

上述这段话的描述相对隐晦,用简单点的语言说,值对象在 DDD 中是用于描述领域的特定方面,其描述的内容是不可变的,并且这种对象是没有标识符的。换一个角度,其实我们可以将值对象看成是一个集合,这个集合里面存储了一个或多个拥有整体概念的、描述特定方面的、不可改变的属性。

举一个具体的例子。从领域模型的角度看,订单实体是包含订单号、金额、收货人联系方式、商品名称、数量、单价等属性。这里如果要额外显示商品相关的信息就会显得很杂乱,这时我们可以将商品名称、数量、单价等属性抽取出来,构建一个商品属性集合,而这个集合就是“值对象”了。

值对象能够帮助我们保持属性的概念完成与分类清晰,避免出现零碎的情况。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部