值对象特征:
1.ValueObject是通过属性来比较的
2.它没有Identity
3.一创建即是最终状态
4.如果要修改ValueObject直接创建一个新的,而不是在原对象进行修改
5.不需要状态同步.
jiveJdon中ForumThread不可能独立存在,它必须依赖rootMessage(ForumMessage),而且是1:1的关系,要访问ForumThread必须通过ForumMessage,而且它的Identity是依赖rootMessage的(也就是说没用自己的Identity,并不是说在DB中它没主键).由于ForumThread,ForumMessage是1:1的关系,所以,任何时候获取同一个ForumMessage它说对应的ForumThread是相同的(即不需要状态同步)。
同理可得AccountProfile也是ValueObject
综上:ValueObject并不是不可以有Entity标识(DB主键),有Entity标识并不能说明它就是Entity(Domain Entity),具体应用具体分析.
以上纯属个人认识,如果有错误望大家指点.
[该贴被admin于2009-03-12 09:17修改过]