PO: 基本上就是Entity了
persistant object持久对象
最形象的理解就是一个PO就是数据库中的一条记录。
好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。

--------------------------------------------------------------------------------

BO:
business object业务对象
主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。
比如一个简历,有教育经历、工作经历、社会关系等等。
我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO。
建立一个对应简历的BO对象处理简历,每个BO包含这些PO。
这样处理业务逻辑时,我们就可以针对BO去处理。

--------------------------------------------------------------------------------

VO :

主要对应界面显示的数据对象。对于一个WEB页面,或者SWT、SWING的一个界面,用一个VO对象对应整个界面的值。

value object 值对象

早期被作为ValueObject和Transfer Object的总称。实际上Value Object的真正意义在于它的内容,而不是身份
View object 表现层对象
界面展现需要的对象,如Struts的FormBean

--------------------------------------------------------------------------------

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

--------------------------------------------------------------------------------

POJO :
plain ordinary java object 简单java对象
个人感觉POJO是最常见最多变的对象,是一个中间对象,也是我们最常打交道的对象。
一个POJO持久化以后就是PO
直接用它传递、传递过程中就是DTO
直接用来对应表示层就是VO

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

--------------------------------------------------------------------------------

总结下我认为一个对象究竟是什么O要看具体环境,在不同的层、不同的应用场合,对象的身份也不一样,而且对象身份的转化也是很自然的。就像你对老婆来说就是老公,对父母来说就是子女。设计这些概念的初衷不是为了唬人而是为了更好的理解和处理各种逻辑,让大家能更好的去用面向对象的方式处理问题.

转载于:https://www.cnblogs.com/2youngnot2learn/p/5910157.html

PO、BO、VO、DTO、POJO、DAO的区别相关推荐

  1. Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分

    Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分 PO:持久对象 (persistent object),po(persiste ...

  2. PO BO VO DTO POJO DAO概念及其作用(附转换图)

    J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...

  3. PO/BO/VO/DTO/POJO/DAO/DO

    文章目录 DO(Domain Object) DO(Data Object) PO VO BO DTO POJO DAO JavaBean EJB Entity 应用程序的分层设计 MVC 业务分层 ...

  4. PO BO VO DTO POJO DAO DO 在java中的概念

    PO BO DTO VO POJO PO DTO VO BO 都叫POJO,就是个简单的java对象: DAO 是进行数据库增删改查的类. BO 业务对象,封装对象.复杂对象 ,里面可能包含多个类: ...

  5. PO BO VO DTO POJO DAO概念

    刚开始写blog,主要的目的是积累,学习,供日后查找! 如题,今天跟主管交流,被好多名词整蒙了,这些词以前都听说过,但是对其内在的含义并不是很清楚的了解,借此机会写上来,增加记忆和理解吧. 一下是原文 ...

  6. java常见业务对象_Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分...

    PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数 ...

  7. PO BO VO DTO POJO DAO DO概念解读

    假如有一张user表,里面有几个字段: user_id user_name pass_word create_time dept_id 假设就这么多吧,一张很基础的表,那么对应Java的写法就是一个类 ...

  8. PO BO VO DTO POJO DAO DO

    假如有一张user表,里面有几个字段: user表 user_id user_name pass_word create_time dept_id 假设就这么多吧,一张很基础的表,那么对应Java的写 ...

  9. java中bean对象_JAVA中PO,BO,VO,DTO,POJO,Entity,JavaBean,JavaBeans各个对象的区别,以及lombo、jpa简介及用法...

    常见JAVA类概念介绍 PO:持久对象 (persistent object). 是ORM(Objevt Relational Mapping)框架中Entity,PO属性和数据库中表的字段形成一一对 ...

  10. Java语言中po什么意思,java语言:PO,BO,VO和POJO的概念区别

    PO:persistent object 持久对象 1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录. 2 .在hibernate持久化框架中与i ...

最新文章

  1. 汇编语言课本习题 p112 3.30
  2. ejabberd mysql 搭建配置_ejabberd安装步骤+Mysql配置
  3. Linux Priority VS Nice
  4. 从Gmail故障看SaaS的服务风险
  5. 深度学习100例-卷积神经网络(CNN)实现mnist手写数字识别 | 第1天
  6. Redis LRU 淘汰原理
  7. Installation failed, deleting ./composer.json.安装phpunit报错解决方案
  8. 【数据库】第二章 基础函数、聚合函数、条件查询、子查询和多表查询
  9. vbs刷屏代码。复制粘贴即可用
  10. 全国计算机二级vb试题库,全国计算机等级考试题库之二级VB试题
  11. 用二维数组打印杨辉三角
  12. 开发中接口的类型都有哪些以及如何调用?
  13. 太阳高度角方位角计算
  14. 深入浅出Yolo系列之Yolov5核心基础知识完整讲解
  15. StarUML 3 中文文档 活动图
  16. 【win7怎么不让垃圾文件进回收站删除】
  17. 河南省计算机学会教育专业委员会,河南省高等学校计算机专业实践教学研讨会在我校召开...
  18. 【js学习笔记-071】--- 浏览器和屏幕信息
  19. 海尔CEO张瑞敏精彩语录
  20. 3D结构光投影测量软件 / 界面 (基于QT)

热门文章

  1. ajax 遍历select 下拉框
  2. C# 中DataTable转成模型List
  3. dedecms插件开发教程
  4. 两幅相同大小图像的相似程度的两个评价指标-PSNR和SSIM
  5. saturate_cast<uchar>(int v)的作用
  6. spring context 例子
  7. 什css3新增的属性,CSS
  8. 爬虫进阶教程:极验(GEETEST)验证码破解教程
  9. android 记一次富文本加载之路
  10. 大话PHP设计模式:类自动载入、PSR-0规范、链式操作、11种面向对象设计模式实现和使用、OOP的基本原则和自动加载配置...