五、值对象和实体对象(四)
实体对象——主角
实体对象是主角,大家都认得出,不会和别人搞混。比如,Person对象很有可能属于实体对象,一般情况下,Person会有一个唯一的ID标识对应着数据库的主键,每个Person数据都是独一无二的,很重要,少一个就出bug了。
值对象——配角或道具
例如,演员拿着一只钢笔写字,我们不会关心他拿的是哪只钢笔,数据库也不会有专门的表去存储这只钢笔。
值对象就是那些我们不关心它具体标识的对象。
意义
我们设计对象依赖关系时:应该尽量让实体对象能拥有值对象,而不要出现值对象去拥有实体对象的情况。
封装对象的时候,能更清晰地将值对象的数据从实体对象里区分出来。