Java基础 - AO BO DO PO VO DAO DTO POJO

AO

Application Object 应用对象。

在Web层与Service层之间抽象的复用对象模型,极为贴近展示层,复用度不高。

BO

Business Object 业务对象。

由Service层输出的封装业务逻辑的对象。这个对象可以包括一个或多个其它的对象。

BO描述一个对象的行为和动作,也涉及到基于它的其他对象的一些行为和动作。比如一个“人”的业务逻辑,有睡觉,吃饭,工作,上班等等,还有和别人合作发生的动作。这样处理业务逻辑时,我们就可以针对BO去处理。

DO

Data Object 数据对象。

与数据库表结构一一对应,通过DAO层向上传输数据源对象。

PO

Persistant Object 持久对象。

数据库表中的记录在Java对象中的显示状态。最形象的理解就是一个PO就是数据库中的一条记录。

VO 

View Object 显示层对象。

通常是Web向模板渲染引擎层传输的对象。对于一个WEB页面将整个页面的属性封装成一个对象,然后用一个VO对象在控制层与视图层进行传输交换。

DAO

Data Access Object 数据访问对象。

这个和上面几个O区别最大,基本没有互相转化的可能性和必要。主要用来封装对数据库的访问。通过它可以把POJO持久化为DO/PO,用DO/PO组装出来VO、DTO。

DTO

Data Transfer Object 数据传输对象。

DTO是经过处理后的DO/PO,可以增加或者减少PO的属性。

主要用于远程调用等需要大量传输对象的地方。比如一张表有100个字段,那么对应的DO/PO就有100个属性。但是我们界面上只要显示10个字段,客户端在获取数据时,没有必要把整个全部字段传递到客户端,这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构。到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO 。

POJO

Plain Ordinary Java Object 简单Java对象。

POJO是一种概念或者接口,身份及作用随环境变化而变化。它不包含业务逻辑或持久逻辑等,不具有任何特殊角色,不继承或不实现任何其它Java框架的类或接口。

一个POJO持久化以后就是PO。直接用它传递、传递过程中就是DTO。直接用来对应表示层就是VO。

 

领域模型命名规约:

数据对象:xxxDO,xxx即为数据表名。

数据传输对象:xxxDTO,xxx为业务领域相关的名称。

展示对象:xxxVO,xxx一般为网页名称。

POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。

posted on 2019-06-27 14:17 Helios_Fz 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/helios-fz/p/11096711.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值