java的幾種對象(PO,VO,DAO,BO,POJO)解釋

一、PO:persistant object 持久對象,可以看成是與數據庫中的表相映射的java對象。最簡單的PO就是對應數據庫中某個表中的一條記錄,多個記錄可以用PO的集合。PO中應該不包含任何對數據庫的操作。

二、VO:value object值對象。通常用於業務層之間的數據傳遞,和PO一樣也是僅僅包含數據而已。但應是抽象出的業務對象,可以和表對應,也可以不,這根據業務的需要.個人覺得同DTO(數據傳輸對象),在web上傳遞。

三、DAO:data access object 數據訪問對象,此對象用於訪問數據庫。通常和PO結合使用,DAO中包含了各種數據庫的操作方法。通過它的方法,結合PO對數據庫進行相關的操作。

四、BO:business object 業務對象,封裝業務邏輯的java對象,通過調用DAO方法,結合PO,VO進行業務操作。

五、POJO:plain ordinary java object 簡單無規則java對象,我個人覺得它和其他不是一個層面上的東西,VO和PO應該都屬於它.

PO:

persistant object持久對象

最形象的理解就是一個PO就是數據庫中的一條記錄。

好處是可以把一條記錄作為一個對象處理,可以方便的轉為其它對象。

BO:

business object業務對象

主要作用是把業務邏輯封裝為一個對象。這個對象可以包括一個或多個其它的對象。

比如一個簡歷,有教育經歷、工作經歷、  關系等等。

我們可以把教育經歷對應一個PO,工作經歷對應一個PO,  關系對應一個PO。

建立一個對應簡歷的BO對象處理簡歷,每個BO包含這些PO。

這樣處理業務邏輯時,我們就可以針對BO去處理。

VO :

value object值對象

ViewObject表現層對象

主要對應界面顯示的數據對象。對於一個WEB頁面,或者SWT、SWING的一個界面,用一個VO對象對應整個界面的值。

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要看具體環境,在不同的層、不同的應用場合,對象的身份也不一樣,而且對象身份的轉化也是很自然的。就像你對老婆來說就是老公,對父母來說就是子女。設計這些概念的初衷不是為了唬人而是為了更好的理解和處理各種邏輯,讓大家能更好的去用面向對象的方式處理問題.社會社會

po是什么意思java_PO/VO/DAO/BO/POJO是什么(JAVA 的解釋)相关推荐

  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对象.使用Hibernate来生成PO是不错的选择. 二.VO :(value object) ...

  4. PO,VO,DAO,BO,POJO 之间的区别你懂吗?

    VO value object:值对象. 通常用于业务层之间的数据传递,由new创建,由GC回收. PO persistant object:持久层对象. 对应数据库中表的字段.VO 和 PO 都是属 ...

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

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

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

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

  7. java vo对象转bo对象_java的几种对象(PO,VO,DAO,BO,POJO)解释(转)

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

  8. 区分PO,VO,DAO,BO,POJO

    VO value object:值对象. 通常用于业务层之间的数据传递,由new创建,由GC回收. PO persistant object:持久层对象. 对应数据库中表的字段.VO 和 PO 都是属 ...

  9. PO,VO,DAO,BO,POJO之间的区别与解释

    VO value object:值对象 通常用于业务层之间的数据传递,由new创建,由GC回收. PO persistant object:持久层对象 对应数据库中表的字段. VO和PO,都是属性加上 ...

  10. 【spring】PO,VO,DAO,BO,POJO,Bean之间的区别与解释

    VO value object:值对象 通常用于业务层之间的数据传递,由new创建,由GC回收. PO persistant object:持久层对象 对应数据库中表的字段. VO和PO,都是属性加上 ...

最新文章

  1. 背完这444句英语,你的口语绝对不成问题了
  2. 【福利】思科/华为/华三模拟器软件分享,附下载链接
  3. Eureka服务器端启动时报错:Connection refused :connect
  4. Oracle plsql 打包
  5. STM32工作笔记0031---基于STM32F103C8自己实现的跑马灯实验_使用STLINK调试
  6. 点击弹出一个背景透明(根据页面内容的高度获取这个元素的高度)
  7. 【渝粤教育】国家开放大学2019年春季 1087数学分析专题研究 参考试题
  8. HBase MemStore和Compaction剖析
  9. SQL Server创建数据库
  10. 无线覆盖技术的重要性
  11. 测试3.0u盘速度软件,SanDisk USB3.0接口的U盘测试
  12. JMeter(三):后置处理器[Regular Expression Extractor]
  13. Microsoft Excel 教程:如何在 Excel 中创建图表?
  14. leetcode174.地下城游戏
  15. 编译提示“/usr/bin/ld: cannot find -lgflags-shared“错误的解决办法
  16. 做第三方软件测评的意义
  17. 基于深度学习的显著性目标检测方法综述
  18. Amy-Tabb机器人世界手眼标定(2、实验结果)
  19. 外网访问内网的FTP服务器
  20. ubuntu 硬盘情况占用分析

热门文章

  1. 支付宝小程序使用阿里图标
  2. openGauss数据库备份恢复指导手册
  3. 西湖大学博导:都说不唯论文,那我们发表论文是为了什么?
  4. 小学生认识计算机网络教案,小学信息技术四年级教案
  5. 计算机shutdown命令,shutdown命令用法|电脑关机命令shutdown
  6. input层级高 小程序_解决微信小程序input、textarea层级过高穿透问题
  7. 软件测试该怎么自学?
  8. Python 调用 kafka 构建完整实例分析与应用
  9. 与大学生谈学习BIM软件开发所需要的准备
  10. Python爬虫实战 | (6) 爬取猫眼电影《海王》影评