领域层之值对象
用来描述一个事物的特征,没有唯一标识的对象
譬如用户的QQ、手机等。其实除了唯一标志,其他任何字段都可以是值对象
值对象有2个重要原则
1、实体只能通过ID(唯一标识) 来判断两者是否相同
2、而值对象。只需根据“值”就能判断两者是否相等
不可变的特性
修改值对象。必须传入新对象
来个示例:
首先这是实体 -- 用户实体
这是值对象-- 用户值对象,包含了QQ、手机等
在这里面,假设userid 是唯一标识
那么
user1:=&UserModel{UserId:101,UserName:"lisi"}
user2:=&UserModel{UserId:102,UserName:"lisi"}
这两个实体,哪怕都叫lisi。但是ID不同,所以这两个实体是不一样的
但是如果这两个实体的QQ、手机和所在城市都一样,那么可以认为这两个用户实体的“Extra值”是一样的
最后更新于