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

Java基础 - AO BO DO PO VO DAO DTO POJO相关推荐

  1. java的几种对象(PO,VO,DAO,BO,POJO)解释

    本文转自: http://blog.csdn.net/bzhxuexi/article/details/8227808 Java的几种对象(PO,VO,DAO,BO,POJO)解释   一.PO:pe ...

  2. java的几种对象(PO,VO,DAO,BO,POJO)解释(转)

      [ 作者:赵小刀 ][ 大小:1k ][ 发布日期:2005-08-22 ][ 浏览:8678 ]      java的几种对象(PO,VO,DAO,BO,POJO)解释      一.PO:pe ...

  3. java 的几种对象 (PO,VO,DAO,BO,POJO) 解释

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象 ...

  4. Java 中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO 的概念

    Java 中 VO. PO.DO.DTO. BO. QO.DAO.POJO 的概念 BO(Business Object)业务对象 主要作用是把业务逻辑封装为一个对象,这个对象可以包括一个或多个其他的 ...

  5. Java中的实体类(VO、PO、DO、DTO、BO、QO、DAO、POJO)

    Java中的实体类(VO.PO.DO.DTO.BO.QO.DAO.POJO) PO(persistant object) 持久对象 DO(Domain Object)领域对象 TO(Transfer ...

  6. 什么是DTO、VO、BO、PO、DO、POJO

    1.什么是DTO.VO.BO.PO.DO.POJO POJO的定义是无规则简单的对象,在日常的代码分层中pojo会被分为VO.BO. PO. DTO VO (view object/value obj ...

  7. java 数据对象_java的几种对象(PO,VO,DAO,BO,POJO)

    一.PO persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数 ...

  8. Java中 实体类 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念

    PO(persistant object) 持久对象 在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了.通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理.可以 ...

  9. Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念

    PO(persistant object) 持久对象 在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了.通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理.可以 ...

最新文章

  1. python替换字符串内容
  2. 全面讲解电脑主板-图文
  3. C#中实现一个TreeGridView(树形表格)附源码下载
  4. Android-一张图理解MVP的用法
  5. PHP实现单击“添加”按钮增加一行表单项,并将所有内容插入到数据库中
  6. 选择版本Win7系统VS2010下搭建qt开发环境
  7. sqlMapConfig.xml配置文件详解
  8. jboss、weblogic介绍
  9. 华为发布MetaAAU 能耗降低30% 性能节能双提升
  10. ft232h引脚_一种基于芯片ft232h的usb接口电路的制作方法
  11. 6月6号=》80页-100页
  12. 04.自定义View(SlidingView仿QQ侧滑)
  13. vue将每个路由打包成html,Ant Design Vue pro 动态路由的实现和打包
  14. 怎么清理ug10注册表_注册表清理优化工具用它就够了,赶紧上车!
  15. 主成分分析逆变换_主成分分析(PCA)
  16. OpenGL-入门-绘制点线面
  17. python中import re_python中re模块
  18. MCNP5 粒子输运 常见问题汇总与踩坑记录(导火索:死循环)
  19. MyEclipse6.5注册码
  20. 【基础】(C语言)高精度算法

热门文章

  1. 2022年中职——网络搭建国赛2脚本写法(超详细解析)
  2. k8s-卸载K8S集群
  3. 怎样用蚯蚓钓鲤鱼的技巧介绍
  4. PHP高级工程师必备技术合集
  5. oracle怎么赋予表空间,oracle数据库创建表空间和用户并赋予权限步骤教程-Oracle...
  6. 魅族手机刷ubuntu php,手机变PC的第一步:给魅族PRO 5刷Ubuntu Touch系统 - IT之家
  7. 用react中的state写一个按钮+弹框的程序
  8. 《面朝大海,春暖花开》(海子)
  9. 使用css绘制弹幕,实例详解CSS3 实现弹幕
  10. 打听别人工资的7个话题,让你薪水更高