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^)/