术语

面向对象的程序设计(Object Oriented Programming ) OO或OOP
基于对象的(OB)
ui (User Interface)
模拟数据访问对象 SDAO
CRUD 方法,即 create()read()update()delete()

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

VO( 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(业务逻辑层)
BOF    Business Object work      业务对象框架
SOA    Service Orient Architecture    面向服务的设计
EMF    Eclipse Model work        Eclipse建模框架


模拟数据访问对象SDAO

模拟数据访问对象实际上模拟后端数据存储。实现 SDAO 模式使我们能够测试各种应用程序层(如业务逻辑和 GUI),而无需恰好拥有实际的数据库。

以下是使用 SDAO 进行分层测试的一些具体优点:

  • 便宜:使用模拟数据库进行测试和调试使您节省了在每个开发人员的桌面上安装 DB2(比方说)的成本。
  • 容易:即使不必处理数据库错误,构建具有 servlet、JSP 文件和 EJB 组件的应用程序也够复杂的了。分层测试允许您设计出表示和业务逻辑,而不必同时担心后端数据库。
  • 迅速:按层进行分隔允许您在出现问题时隔离它们,这使得调试周期更快。有些错误(如 TransactionRollbackException )难以定位;从综合体中除去数据库层让您更快地找出真实的问题。
  • 灵活:SDAO 可以用于性能概要分析和测试。尽管有些类型的性能问题(如数据库死锁)需要实际的数据库来解决,但 SDAO 让您获得仅域和 GUI 性能的测量结果,然后可以利用这些结果来解决那些层上的问题。

SDO简介
服务数据对象(Service Data Objects,SDO) 是BEA 和 IBM 最近共同发布的一项规范,而且它正由JSR-235专家组进行标准化以通过JCP(Java 标准化组织)的审核。SDO是Java平台的一种数据编程架构和API,它统一了不同数据源类型的数据编程,提供了对通用应用程序模式的健壮支持,并使应用程序、工具和框架更容易查询、读取、更新和检查数据。关于SDO架构的高级概述,请参考白皮书Next-Generation Data Programming: Service Data Objects (pdf)。

面向服务架构(service-oriented architecture,SOA)

posted @ 2008-05-30 15:37  江湖超  阅读(164)  评论(0编辑  收藏  举报