在 Java web 的分层领域模型中会用到不同对象,这些对象有如下使用规范:
一、分层领域模型规约
1、POJO( Plain Ordinary Java Object)
简单 Java 对象,专指只有setter/getter/toString的简单类,包括DO/DTO/BO/VO等。
2、DO( Data Object)
数据对象,
与数据库表结构一一对应,通过DAO层向上传输数据源对象
。
3、DTO(Data Transfer Object)
数据传输对象,泛指用
于展示层与服务层之间的数据传输对象
。这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载。
4、VO(Value Object、View Object)
值对象、展示对象,
返回给前端的值对象
。如:Controller层的响应参数。
6、BO(Business Object)
业务对象,
用于Service层输出封装业务逻辑的对象
。可能包含多个表的数据,也可能只包含一个表的某几个字段的数据。
7、Query
数据查询对象,
各层接收上层的查询请求
。注意超过2个参数的查询封装,禁止使用Map类来传输。
二、领域模型命名规约
1、数据对象:xxxDO,xxx即为数据表名
。
2、数据传输对象:xxxDTO,xxx为业务领域相关的名称
。
3、展示对象:xxxVO,xxx一般为网页名称
。
注:POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。