项目管理问题之为什么某些对象被视为实体而不是值对象

简介: 项目管理问题之为什么某些对象被视为实体而不是值对象

问题一:实体的代码应该如何设计?



参考答案:

要保证实体代码形态与业务形态的一致性。实体的代码应该有属性和行为,即充血模型,但行为里只涉及业务逻辑的内存操作。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/616782



问题二:什么是值对象?



参考答案:

值对象是通过对象属性值来识别的对象,将多个相关属性组合为一个概念整体。它没有唯一标识,没有生命周期,不可修改,当发生改变时只能替换。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/616783



问题三:值对象的业务形态是怎样的?



参考答案:

值对象是描述实体的特征,对实体的数据进行分类和聚合后能够表达一个业务含义,方便沟通而不关注细节。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/616784



问题四:值对象的代码形态是怎样的?



参考答案:

实体的单一属性是值对象,例如字符串、整型、枚举。多个属性的集合也是值对象,这时可以设计为一个CLASS,但没有ID。比如商品实体下的航段就是一个值对象,航段是描述商品的特征,不需要ID,可以直接整体替换。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/616785



问题五:为什么某些对象被视为实体而不是值对象?



参考答案:

因为需要表达特定的业务含义,比如“谁买了什么商品”,所以我们需要知道是哪一个商品,因此需要ID来标识唯一性,这样的对象就被视为实体。而值对象主要用于描述实体的特征,不需要唯一标识。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/616789

相关文章
|
5月前
领域驱动设计问题之将多个服务类都直接修改单据实体的状态如何解决
领域驱动设计问题之将多个服务类都直接修改单据实体的状态如何解决
|
5月前
|
架构师 测试技术 领域建模
项目管理问题之实体、命令、事件之间有什么关系
项目管理问题之实体、命令、事件之间有什么关系
|
5月前
|
存储 JSON 数据库
项目管理定义问题之什么是序列化大对象的值对象数据库形态
项目管理定义问题之什么是序列化大对象的值对象数据库形态
|
存储 编译器 C语言
C++ 基础篇之类 & 对象的关系
C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。
实体,实体型,实体集,实体之间的联系
定义并解释概念模型中以下术语:实体,实体型,实体集,实体之间的联系。 (1)实体:客观存在并可以相互区分的事物叫实体。 (2)实体型:用实体名及其属性名集合来抽象和刻画同类实体称为实体型。 (3)实体集:同型实体的集合称为实体集。 (4)实体之间的联系:通常是指不同实体型的实体集之间的联系,实体之间的联系有一对一,一对多和多对多等多种类型。 ...
690 0
|
安全 Java 容器
对象的组合
对象的组合
110 0
|
XML 数据格式 开发者
定义实体|学习笔记
快速学习定义实体
159 0
聚合(根)、实体、值对象精炼思考总结
原文:聚合(根)、实体、值对象精炼思考总结 1.      聚合根、实体、值对象的区别? 从标识的角度: 聚合根具有全局的唯一标识,而实体只有在聚合内部有唯一的本地标识,值对象没有唯一标识,不存在这个值对象或那个值对象的说法; 从是否只读的角度: 聚合根除了唯一标识外,其他所有状态信息都理论...
1420 0