分层领域模型规约:
- DO(Data Object):此结构与数据库表结构一一对应,通过DTO向上传输数据源对象。
- DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。
- BO(Business Object):业务对象,由Service 层输出的封装业务逻辑的对象。
- AO(Application Object):应用对象,在Web 和 Service 层之间抽象的复用对象模型。
- VO(Value Object):显示层对象,通常是Web向模板渲染引擎层传输的对象。
领域模型命名规范:
- 数据对象:xxxDO,xxx即为数据表名;
- 数据传输对象:xxxDTO,xxx为业务领域相关的名称;
- 展示对象:xxxVo,xxx为网页名称;
- POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
- PO(Persistant Object),持久对象
可以看成是与数据库中的表相映射的java对象。使用Hibernate生成PO是不错的选择。
- VO(Value Object),值对象
通常用于业务层之间的数据传递,和PO一样也仅仅包数据而已。但应该是抽象出的业务对象,不要求必须和表对应,根据业务需要。PO只能在数据层,VO用在商业逻辑层和表示层。
- DTO(Data Transfer Object),数据访问对象接口
与数据库打交道,夹在业务逻辑与数据库资源中间。
- BO(Business Object),业务对象层
表示应用程序领域内"事物"的所有实体内。这些实体类驻留在服务器上,并利用服务类来协助完成他们的职责。
- DTO(Data Transfer Object),数据传输对象
只要用于远程调用等需要大量传输对象的地方。例如某张表有100个字段,那么对应的PO就有100个属性。但业务需求是在
界面上显示其中10个字段即可,客户端采用Web Service来获取数据,就没有必要把整个PO对象传递到客户端,这时就可以把需要的10个字段通过DTO传递到客户端。如果用这个对象来对应界面显示,就可以转换为VO。
- POJO(Plain Old Java Objects),简单的Java对象
实际就是普通的JavaBeans,使用POJO是为了避免与EJB混淆。