POJO /BO /VO /DTO /javabean

javabean
    在Java程序或JSP程序中,有很多的代码段是可以重复使用的,比如对数据库的操作、用户的有效性检查及某些项特定功能的实现等。为了很好的解决这个问题,提高开发效率,Sun公司推出了JavaBean,简言之,JavaBean是一个实现了某个功能且供重复使用的Java类。

    在JSP中使用JavaBean后,可实现HTML与Java代码的分离,使JSP更易于开发和维护。因此JavaBean成了JSP程序员的必备利器之一。

     虽然JavaBean是Java类,同时它也具有自己的一些特征:

      1、 JavaBean是一个public的类

      2、 JavaBean有一个不带参数的构造方法

      3、 JavaBean中的属性通过getXXX()和setXXX()进行操作

按着Sun公司的定义,JavaBean是一个可重复使用的软件组件。实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。由于

javabean是基于java语言的,因此javabean不依赖平台,具有以下特点:
  1. 可以实现代码的重复利用
  2. 易编写、易维护、易使用
  3. 可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。

比如我们编写一个计算圆面积的java类CircleArea.java  以后需要计算圆面积的地方直接调用就行了。

 

POJO :plain ordinary java object 无规则简单java对象 
一个中间对象,可以转化为PO、DTO、VO。 
1 .POJO持久化之后==〉PO 
(在运行期,由Hibernate中的cglib动态把POJO转换为PO,PO相对于POJO会增加一些用来管理数据库entity状态的属性和方法。PO对于programmer来说完全透明,由于是运行期生成PO,所以可以支持增量编译,增量调试。) 
2 .POJO传输过程中==〉DTO 
3 .POJO用作表示层==〉VO 
PO 和VO都应该属于它。

普通的Java对象,对于属性一般实现了JavaBean的标准,另外还可以包含一些简单的业务逻辑(方法)。

 

PO :persistent object持久对象 
1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。 
2 .在hibernate持久化框架中与insert/delet操作密切相关。 
3 .PO中不应该包含任何对数据库的操作。

POJO在持久层的体现,对POJO持久化后就成了PO。PO更多的是跟数据库设计层面相关,一般PO与数据表对应,一个PO就是对应数据表的一条记录。

 

BO :business object 业务对象 
封装业务逻辑为一个对象(可以包括多个PO,通常需要将BO转化成PO,才能进行数据的持久化,反之,从DB中得到的PO,需要转化成BO才能在业务层使用)。 
关于BO主要有三种概念 
1 、只包含业务对象的属性; 
2 、只包含业务方法; 
3 、两者都包含。

 POJO在业务层的体现,对于业务操作来说,更多的是从业务上来包装对象,如一个User的BO,可能包括name, age, sex, privilege, group等,这些属性在数据库中可能会在多张表中,因为每一张表对应一个PO,而我们的BO需要这些PO组合起来(或说重新拼装)才能成为业务上的一个完整对象。


VO :value object值对象 / view object表现层对象 
1 .主要对应页面显示(web页面/swt、swing界面)的数据对象。 
2 .可以和表对应,也可以不,这根据业务的需要。 
注 :在struts中,用ActionForm做VO,需要做一个转换,因为PO是面向对象的,而ActionForm是和view对应的,要将几个PO要显示的属性合成一个ActionForm,可以使用BeanUtils的copy方法。

POJO在表现层的体现。 当我们处理完数据时,需要展现时,这时传递到表现层的POJO就成了VO。它就是为了展现数据时用的。


DTO (TO) :Data Transfer Object数据传输对象 
1 .用在需要跨进程或远程传输时,它不应该包含业务逻辑。 
2 .比如一张表有100个字段,那么对应的PO就有100个属性(大多数情况下,DTO 内的数据来自多个表)。但view层只需显示10个字段,没有必要把整个PO对象传递到client,这时我们就可以用只有这10个属性的DTO来传输数据到client,这样也不会暴露server端表结构。到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。

POJO在系统间传递时。当我们需要在两个系统间传递数据时,一种方式就是将POJO序列化后传递,这个传递状态的POJO就是DTO。

 

 

引用文章:

https://www.cnblogs.com/DiDi516/p/5860773.html

https://www.cnblogs.com/xiaotangtang/p/4923039.html

https://www.cnblogs.com/yeyuchangfeng/p/4546138.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java语言是SUN公司开发的一种编程语言。 1.1 Java语言产生和发展的背景   Java语言源于Oak语言,这是SUN公司在一项消费性电子产品软件发展方案中采用的语言。Oak的设计目标是用以开发可靠、紧凑、易于移植的分布式嵌入系统。尽管Oak语言在技术上颇为成功,但由于商业上的原因,却未能在市场的激烈竞争中站稳脚跟。然而,Internet和WWW日新月异的发展却为Oak创造了新的生存空间。Oak经过改进,成为一种非常适合网络开发的独特语言——Java,从而脱颖而出,一举成名。   Internet,中译为“因特网”或“互联网”,是当今最大的国际性计算机互联网络。它源于美国国防部高级研究计划局(Advanced Research Project Agency)的网络ARPANET,但发展到今天,已成为一个庞大的全球网。顾名思义,这是一个“网间网”它把各种异构网络联接一起,使位于世界各地、不同网络中的人们能够自由地交换信息。Internet在全球的用户以千万计,并在不断激增;被它直接、间接连通的国家也越来越多。Internet上的协议标准也日益受到广泛支持并在不断地得到扩充。   WWW全称为World Wide Web,中译为“万维网”、“全球网”等,是Internet中最为直观和富有魅力的资源。它运用超文本(Hypertext)技术将信息组织成文字、声音、图像,用户可以用浏览器读取这些信息。WWW上信息种类繁多,用户可以根据自己的需要在任何时间访问自己所需的信息。WWW上的信息由页面组成,页面中包含超文本链接(Hypertext Link),把位于不同页面的相关内容链在一起,因而检索信息非常方便。WWW的发展也是日新月异,它已不止局限于展示静止信息,正在不断增强交互和动态性。许多商家和企业也把目光瞄准了WWW,可以预料,WWW世界将变得越来越丰富多彩。   Internet(含WWW)为人们提供了许多有用的信息,然而,Internet上的用户使用着各种各样的计算机,系统软件和用户软件也缺乏兼容性。在这些不兼容的平台间交换信息,就像对许多语言不通的人讲话一样,是非常困难的。而Java与生俱来的特性刚好可以解决这道电脑界的“世纪难题”。它建立的虚拟环境运行标准解决了软件跨平台执行的问题,使不同的平台都能理解用Java编写的程序,命名Java语言成了网络世界的通用语言。因此,Java在Internet和WWW环境下如鱼得水,迅速风靡全球。   总之,Java作为一种独特的语言,诞生于Internet和WWW蓬勃发展的时期,可谓恰逢其时。如今的Java与当初的Oak语言已不可同日而语。而且,Java技术的创始者SUN公司采用了一种“开放”策略,将它公诸于众,更激发了第三方软件开发商的极大热情,纷纷发展Java技术。Java的前景是非常广阔的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值