新浪新闻客户端

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

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

  

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

  

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

  

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

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

特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。
权利保护声明页/Notice to Right Holders

举报邮箱:jubao@vip.sina.com

Copyright © 1996-2024 SINA Corporation

All Rights Reserved 新浪公司 版权所有