1.POJO
是Plain Ordinary Java Object
(普通java对象)的缩写,表示一个简单的java对象,只有属性字段及setter和getter方法。
2.PO
是Persistant Object
(持久化对象)的缩写,用于表示数据库中的一条记录映射成的java对象,PO仅仅用于表示数据,没有任何数据操作,通常遵守Java Bean规范,拥有getter/setter方法。
3.VO
是View Object
的缩写,用于一个与前端进行交互的对象,通常遵守Java Bean规范,拥有getter/setter方法。
4.DTO
是Data Transfer Object
的缩写,用于表示一个数据传输对象,DTO通常用于不同服务或服务不同分层之间的数据传输,DTO和VO概念相似,并且通常情况下字段也基本一致。
5.DO
是Data Object
的缩写,与数据库表结构一一对应,通过DAO层向上传输数据源对象。
6.领域模型命名规则
- 数据对象:xxxPO,xxx即为数据表名。(也可DO)
- 数据传输对象:xxxDTO,xxx为业务领域相关的名称。
- 展示对象:xxxVO,xxx一般为网页名称。
- POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
7.整体关系图
领域模型中的实体类分为四种类型:VO、DTO、DO、PO,各种实体类用于不同业务层次间的交互,并会在层次内实现实体类之间的转化。
业务分层为:视图层(VIEW+ACTION),服务层(SERVICE),持久层(DAO)
相应各层间实体的传递如下图