值对象(Value Object)
缩写:无
简述
以属性值定义相等性、通常不可变、无独立生命周期标识的对象(如货币、日期区间)。值对象表达领域度量与描述,适合大量创建与比较;与实体相对。
使用场景
金额、坐标、邮箱地址、配置片段。
实践与应用
• 不可变
• 相等比内容
• 校验放在构造
注意事项
• 可变值对象作字典键
• 把实体误做成值对象
对比与易混
| 值对象 | 实体 | |
|---|---|---|
| 相等 | 比内容 | 比身份 |
| 可变 | 常不可变 | 状态可变仍是「同一个」 |
关联术语
• 实体:靠连续身份识别的对照
• 相等性:值对象通常比内容
• 不可变:值对象的常见约束
• 领域模型:值对象的使用语境