2EE开发中大量的专业缩略语很是让人迷惑, 特别是对于刚毕业的新人来说更是摸不清头脑。若与公司大牛谈技术人家出口就是PO VO BO DTO POJO DAO 等,让新人们无比仰慕大牛。

为了让新人快速成为牛人,今天我详细的为大家介绍这些专业名词。

PO(bean,entity等命名)
persistant object持久对象,数据库表中的记录在java对象中的显示状态
最形象的理解就是一个PO就是数据库中的一条记录。
好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。


BO(service,manager,business等命名):

business object业务对象

主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。
形象描述为一个对象的形为和动作,当然也有涉及到基它对象的一些形为和动作。比如处理

一个人的业务逻辑,有睡觉,吃饭,工作,上班等等形为还有可能和别人发关系的形为。
这样处理业务逻辑时,我们就可以针对BO去处理。


VO(from也有此写法) :
value object值对象
主要体现在视图的对象,对于一个WEB页面将整个页面的属性封装成一个对象。然后用一个VO对象在控制层与视图层进行传输交换。


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


POJO(POJO是一种概念或者接口,身份及作用随环境变化而变化) :

POJO有一些private的参数作为对象的属性。然后针对每个参数定义了get和set方法作为访问的接口

plain ordinary java object 简单java对象

即POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。

一个POJO持久化以后就是PO。

直接用它传递、传递过程中就是DTO

直接用来对应表示层就是VO


DAO(data access object数据访问对象):

这个大家最熟悉,和上面几个O区别最大,基本没有互相转化的可能性和必要.

主要用来封装对数据库的访问。通过它可以把POJO持久化为PO,用PO组装出来VO、DTO
Controller 控制层主要是action/servlet等构成(目前Spring mvc则是通过@Controller标签使用)

此层业务层与视图层打交道的中间层,负责传输VO对象和调用BO层的业务方法,负责视图层请求的数据处理后响应给视图层。

view(视图层)

主要是指由jsp,html等文件形成的显示层。

总结一下要用具体的X0需要看具体环境及项目架构,在不同的层、不同的应用场合,对象的身份也不一样,而且对象身份的转化也是很自然的。就像你对老婆来说就是老公,对父母来说就是子女。设计这些概念的初衷不是为了唬人而是为了更好的理解和处理各种逻辑,让大家能更好的去用面向对象的方式处理问题。
     在平时开发项目中大家千万过度设计各层,因为这样会带来大量的工作和重复工作。如果不是大型系统可简化一些层,因为技术是为应用服务的。


上述名词在实际项目的应用举例     名称             (称谓- 实际名称)

控制层(Controller-action),        业务层/服务层( bo    -  manager )   实体层(po-entity)  dao(dao)  视图对象(Vo-本项目省略)   视图层(view-jsp/html)

转载于:https://www.cnblogs.com/wangxiong/archive/2013/05/29/3107172.html

PO VO BO DTO POJO DAO(转)相关推荐

  1. JavaEE PO VO BO DTO POJO DAO 整理总结(转)

    阅读目录 1.DAO[data access object]数据访问对象 2.DTO[data transfer object]数据传输对象 3.PO[persistant object]持久层对象 ...

  2. JavaEE PO VO BO DTO POJO DAO 整理总结

    阅读目录 1.DAO[data access object]数据访问对象 2.DTO[data transfer object]数据传输对象 3.PO[persistant object]持久层对象 ...

  3. JSP PO VO BO DTO POJO DAO解释

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

  4. java qo_Java中DAO/DTO/PO/VO/BO/QO/POJO

    ORM:是Object Relational Mapping(对象关系映射)的缩写. 通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在O/R/M的世界里,有两个基本的也是重要的东东需要了 ...

  5. DO VO BO DTO POJO概念记录

    第 1 个:DAO DAO(Data Access Object)数据访问对象,它是一个面向对象的数据库接口,负责持久层的操作,为业务层提供接口,主要用来封装对数据库的访问,常见操作无外乎 CURD. ...

  6. PO/VO/BO和POJO概念

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

  7. java中几种常用的对象类型(po,vo,bo,dto)

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

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

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

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

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

最新文章

  1. 做人留一线,日后好相见
  2. python-子类和派生、继承
  3. 架构评审方法和思路总结
  4. maven中pom文件解析
  5. SAP Customer Data Cloud支持的Social Media channel
  6. 搭载鸿蒙os的电脑,全新华为 MatePad Pro 发布在即:搭载鸿蒙系统
  7. (转)Hibernate框架基础——cascade属性
  8. 明略数据是谁?为何能拿下腾讯在行业AI的高额投资
  9. 苏宁:我们开发百度小程序遇到的那些“坑”
  10. 其他行 展开 收起_长居清迈的家庭,去台湾依旧可以自由行?手把手教你网上申请赴台证...
  11. python打印字符串所在行_python打印文件中某个字符串的前几行
  12. leach算法的实现过程_LEACH算法的MATLAB代码.doc
  13. 实验一:38译码器的VHDL实现及原理图实现
  14. windown+cpu+Keras/Tensorflow+python+yolo3训练自己的数据集
  15. 关于 ADXL362 传感器不工作的说明
  16. No Assembler service found - please make sure that the right jars are in your classpath
  17. tar 解压出指定文件
  18. Linux 内核中 likely 与 unlikely 的宏定义解析
  19. C#实现微信公众号群发消息(解决一天只能发一次的限制)实例分享
  20. 网络抓包工具 翻译帮助文档 详解教程

热门文章

  1. 基于微信小程序的线上教育商城小程序
  2. OMAPL138 通用并行端口uPP配置
  3. 开发auto.js旅行之路
  4. 11 wifi6速率_WiFi6路由好在哪?【巨齿鲨】告知真相
  5. Delphi XE4,C++ Builder XE4,RAD Studio XE4 v18.0.4905.60485(With Update 1) 官方下载激活
  6. 蚂蚁京东新浪10位架构师424页佳作深入分布式缓存从原理到实践
  7. 硅基芯片与光纤耦合及封装
  8. matlab进行光纤耦合,光纤耦合器中光孤子传输的matlab仿真研究.doc
  9. html5自动播放音乐外链,HTML5 audio 如何实现播放多个MP3音频
  10. 2023年6月DAMA-CDGA/CDGP数据治理认证报名请尽早啦!