java术语(PO/POJO/VO/BO/DAO/DTO)

来源:互联网 发布:it播吧软件测试 编辑:程序博客网 时间:2024/05/19 20:41

po(persistant object) 持久对象

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

vo(value object) 值对象

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

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操作...

dto (data transfer object)数据传输对象

主要用于远程调用等需要大量传输对象的地方。

比如我们一张表有100个字段,那么对应的po就有100个属性。

但是我们界面上只要显示10个字段,

客户端用web service来获取数据,没有必要把整个po对象传递到客户端,

这时我们就可以用只有这10个属性的dto来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为vo

o/r mapper 对象/关系 映射

定义好所有的mapping之后,这个o/r mapper可以帮我们做很多的工作.通过这些mappings,这个o/r mapper可以生成所有的关于对象保存,删除,读取的sql语句,我们不再需要写那么多行的dal代码了.

实体model(实体模式)

dal(数据访问层)

idal(接口层)

dalfactory(类工厂)

bll(业务逻辑层)

bofbusiness object framework业务对象框架

soaservice orient architecture面向服务的设计

emfeclipse model frameworkeclipse建模框架


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
原创粉丝点击