实体对象与值对象的区别?

实体对象与值对象的区别?
我的理解就是 实体对象就是需要持久化的对象,
值对象就是不需要持久化的对象。

这么理解是否正确呢?

不是,DDD有定义,主要是从是否有唯一标识,是否是特定实例来看。

实体类似四色原型的PPT,而值对象则可能是description

banq可不可以给我们说清楚点,我还是不很理解这意思,谢谢!!!

实体对象:又称PO.它在世界上有唯一的标识
值对象:无唯一标识,它应该被设计成不可改变的.

class User {
public Name name; // Name类只是个值类型,所以name是值对象
public Age age; // Age类也只是个值类型,所以age也是值对象
public Company company; // Company类的对象是系统中需要互相区别的,所以company是实体。
}

当然,User类的对象在系统中也是需要相互区别的,所以

User user = new User();

里,user也是实体。

基于值是否可改变,是否可以共享考虑。


>在JiveJdon3.0中,ForumState是一个值对象,它表示论坛当前最新帖子、论坛的>主题数量和帖子数量,它的根对象是Forum,是被内聚嵌入到Forum这个实体模型中>的。

diogin得说法是否正确??板桥老大