`

JAVA 常用名词解释

阅读更多
1.VO是用new关键字创建,由GC回收的。
PO则是向数据库中添加新数据时创建,删除数据库中数据时削除的。并且它只能存活在一个数据库连接中,断开连接即被销毁。

2.VO是值对象,精确点讲它是业务对象,是存活在业务层的,是业务逻辑使用的,它存活的目的就是为数据提供一个生存的地方。
PO则是有状态的,每个属性代表其当前的状态。它是物理数据的对象表示。使用它,可以使我们的程序与物理数据解耦,并且可以简化对象数据与物理数据之间的转换。

3.VO的属性是根据当前业务的不同而不同的,也就是说,它的每一个属性都一一对应当前业务逻辑所需要的数据的名称。
PO的属性是跟数据库表的字段一一对应的。

PO对象需要实现序列化接口。
-------------------------------------------------
PO是持久化对象,它只是将物理数据实体的一种对象表示,为什么需要它?因为它可以简化我们对于物理实体的了解和耦合,简单地讲,可以简化对象的数据转换为物理数据的编程。VO是什么?它是值对象,准确地讲,它是业务对象,是生活在业务层的,是业务逻辑需要了解,需要使用的,再简单地讲,它是概念模型转换得到的。
首先说PO和VO吧,它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(当然我是指他们的属性)。正因为这样,PO独立出来,数据持久层也就独立出来了,它不会受到任何业务的干涉。又正因为这样,业务逻辑层也独立开来,它不会受到数据持久层的影响,业务层关心的只是业务逻辑的处理,至于怎么存怎么读交给别人吧!不过,另外一点,如果我们没有使用数据持久层,或者说没有使用hibernate,那么PO和VO也可以是同一个东西,虽然这并不好。

----------------------------------------------------
java的(PO,VO,TO,BO,DAO,POJO)解释
PO(persistant object) 持久对象
在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。

VO(value object) 值对象
通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。

TO(Transfer Object),数据传输对象
在应用程序不同tie(关系)之间传输的对象

BO(business object) 业务对象
从业务模型的角度看,见UML元件领域模型中的领域对象。封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。

POJO(plain ordinary java object) 简单无规则java对象
纯的传统意义的java对象。就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。我的理解就是最基本的Java Bean,只有属性字段及setter和getter方法!。

DAO(data access object) 数据访问对象
是一个sun的一个标准j2ee设计模式,这个模式中有个接口就是DAO,它负持久层的操作。为业务层提供接口。此对象用于访问数据库。通常和PO结合使用,DAO中包含了各种数据库的操作方法。通过它的方法,结合PO对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。配合VO, 提供数据库的CRUD操作...

O/R Mapper 对象/关系 映射 
定义好所有的mapping之后,这个O/R Mapper可以帮我们做很多的工作。通过这些mappings,这个O/R Mapper可以生成所有的关于对象保存,删除,读取的SQL语句,我们不再需要写那么多行的DAL代码了。

实体Model(实体模式)
DAL(数据访问层)
IDAL(接口层)
DALFactory(类工厂)
BLL(业务逻辑层)
BOF     Business Object Framework       业务对象框架
SOA     Service Orient Architecture     面向服务的设计
EMF     Eclipse Model Framework         Eclipse建模框架

----------------------------------------
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

-----------------------------------------------------------------
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应该都属于它.

---------------------------------------------
VO:值对象、视图对象
PO:持久对象
QO:查询对象
DAO:数据访问对象
DTO:数据传输对象
----------------------------------------
struts 里的 ActionForm 就是个VO;
hibernate里的 实体bean就是个PO,也叫POJO;
hibernate里的Criteria 就相当于一个QO;
在使用hibernate的时候我们会定义一些查询的方法,这些方法写在接口里,可以有不同的实现类.而这个接口就可以说是个DAO.
----------------------------------------
PO或叫BO,与数据库最接近的一层,是ORM中的O,基本上是数据库字段对应BO中的一个属性,为了同步与安全性考虑,最好只给DAO或者Service调用,而不要用packcode,backingBean,或者BO调。
DAO,数据访问层,把VO,backingBean中的对象可以放入。。。。
DTO,很少用,基本放入到DAO中,只是起到过渡的作用。
QO,是把一些与持久性查询操作与语句放入。。
VO,V层中用到的基本元素与方法等放其中。如果要其调用BO,则要做BO转换VO,VO转换BO操作。VO的好处是其页面的元素属性多于BO,可起到很好的作用。。。。
-----------------------------------------
楼上的不对吧,PO是持久化对象。BO=business object—业务对象。
PO可以严格对应数据库表,一张表对映一个PO。
BO则是业务逻辑处理对象,我的理解是它装满了业务逻辑的处理,在业务逻辑复杂的应用中有用。
VO:value object值对象、view object视图对象
PO:持久对象
QO:查询对象
DAO:数据访问对象——同时还有DAO模式
DTO:数据传输对象——同时还有DTO模式
分享到:
评论

相关推荐

    JAVA面试宝典包含名词解释,常问问题。

    以下是对给定文件中提及的几个关键知识点的详细解释: 1. **JDK 与 JRE 的区别**: JDK (Java Development Kit) 提供了完整的 Java 开发环境,包括 Java 编译器(javac)、Java 运行环境(JRE)、以及各种开发工具...

    Java技术名词解释.pdf

    Java是一种由Sun Microsystems公司开发的面向...以上就是关于Java技术的一些基本名词解释,涵盖了语言本身、开发工具、Web应用框架、服务器和开发环境等多个方面。理解这些概念对于深入学习和使用Java技术至关重要。

    2023年计算机等级考试三级数据库技术常用名词解释.docx

    在这个领域,有几个关键的名词解释是备考者必须掌握的。 首先,DB代表数据库,它是一个集合,存储了相关且组织有序的数据,旨在供多个用户共享,具有数据冗余度低、数据间联系紧密以及高数据独立性的特点。DBMS则是...

    2021年计算机等级考试三级数据库技术常用名词解释.pdf

    计算机等级考试三级数据库技术涉及了数据库领域的核心概念和术语,以下是对这些名词的详细解释: 1. **数据库(DB)**:数据库是存储和管理数据的集合,它以一种结构化的方式组织数据,使得数据能够被多个用户共享...

    计算机常用名词的英文缩写.docx

    在计算机领域,了解并掌握常用名词的英文缩写是非常重要的,因为这些缩写构成了我们日常工作中交流的基础。以下是一些常见的计算机术语及其解释: 1. GUI(Graphics User Interface):图形用户界面,是指通过图标...

    三级数据库技术常考名词解释

    数据库技术是计算机科学的重要组成部分,尤其在计算机三级考试中,理解和掌握这些名词解释至关重要。首先,我们来看几个核心概念。 1. **DB(数据库)**:数据库是存储和管理相关数据的集合,它提供了一种有效的...

    Java常用英语汇总

    以下是一些重要的Java常用英语单词及其详细解释: 1. **abstract** - 关键字,用于定义抽象类或抽象方法,表示该类或方法没有具体的实现,需要子类来完成。 2. **access** - 作为动词,表示访问或存取类的成员;...

    数据库中一些常用的名词解释.doc

    宿主语言是编写应用程序的语言,例如C++、Java等。DDL(数据定义语言)用于定义数据库结构和约束,DML(数据操纵语言)则用于查询和更新数据,包括交互型DML(如SQL)和嵌入型DML(如PL/SQL),以及过程性和非过程性...

    计算机网络名词解释大全(20211125132120).pdf

    计算机网络名词解释大全 本文档提供了计算机网络领域中的常用术语和缩略语的解释,涵盖了网络协议、网络设备、网络架构、数据传输、安全协议等方面。下面是部分知识点的详细解释: 1. 10 Base T:双绞线以太网技术...

    Java程序员常用英语单词800+

    这份"Java程序员常用英语单词800+"的资料,是根据Java API中五个核心包(lang, util, io, net, sql)的高频词汇整理得出的,涉及文档超过1700个。这些单词在计算机软件开发环境中具有特定含义,不仅包含通用词汇,还...

    JAVA基础知识学习零基础ppt课件.ppt

    此外,还介绍了JAVA的发展历程、JAVA高级语言开发过程、JAVA应用概述、名词解释、JAVA开发基本术语、JAVA语言特点等相关知识点。 JAVA基础概念: 1. JAVA开发环境介绍:JAVA开发环境包括JDK、JRE、JVM等基本概念。...

    千寻简Java词典音标版

    这份资料不仅限于Java语言本身,还包含了将近500条计算机领域常见的英文词汇,覆盖了广泛的IT知识领域,有助于开发者全面理解和掌握Java的专用名词。 首先,我们来看几个重要的Java相关词汇。`API(Application ...

    Java专业术语标准化规范表

    Java专业术语标准化规范表是Java开发领域中一个重要的参考文档,它定义了各种专业名词的准确用法和含义,确保了开发人员之间的沟通清晰、准确。以下是一些关键术语的详细解释: 1. **AJAX**:Asynchronous ...

    数据库名词解释.doc

    结构数据模型则涉及数据库逻辑结构,包括数据结构、数据操作和数据完整性约束,如层次模型(树型结构表示实体和联系)、网状模型(有向图结构)和关系模型(最常用,采用二维表格表示实体和联系)。 数据库设计中,...

    java关键字和java命名规范.pdf

    以下是一些常见的Java关键字及其简单解释: 1. abstract: 表示抽象类或方法。 2. assert: 用于在代码中进行调试断言,但在Java中被禁用。 3. boolean: 基本数据类型,用于表示逻辑值true或false。 4. break: 用于...

    java基础知识.docx

    本文档主要探讨了Java的基础知识,包括其语言特点、名词解释、计算机执行机制、类的阐述、包管理、常用快捷键以及核心语法元素如内存管理、变量、数据类型、循环结构、函数、数组和面向对象编程概念。 1. Java语言...

    java综合试题

    三、名词解释 1. HTML:超文本标记语言,用于网页的编写。 2. HTTP:超文本传输协议,用于网页的传输。 3. JNDI:Java 命名和目录接口,用于查找和访问 Java 对象。 4. JMS:Java 消息服务,用于实现异步消息传递。...

    Java 笔试题集锦

    WEB SERVICE 名词解释 - **Web Service**:Web 服务是一种网络服务,它可以执行特定任务并通过网络与其他兼容组件进行交互。Web 服务遵循一系列标准(如 SOAP、WSDL、UDDI 等),以便于跨平台的互操作性。 - **...

Global site tag (gtag.js) - Google Analytics