领域模型中的实体类可细分为4种类型:VO、DTO、DO、PO。
PO(Persistent Object):持久化对象,表示持久层的数据结构(如数据库表);
DO(Domain Object):领域对象,即业务实体对象;
DTO(Data Transfer Object):数据传输对象,原来的目的是为EJB的分布式应用提供粗粒度的数据实体,以降低分布式调用的次数,提高分布式调用的性能,后来一般泛指用于展示层与服务层之间的数据传输对象,因此可以将DTO看成一个组合版的DO;
VO(View Ob-ject):视图对象,用于展示层视图状态对应的对象。
从分层角度来说,PO、DO/DTO、VO分别属于持久层、服务层和展现层。
对于简单模块来说,有时PO、DO和VO并没有什么区别,这时就没有必要分别定义DO和VO了,直接复用PO即可。