EJB中的设计模式
来源:互联网 发布:什么是数据漫游 编辑:程序博客网 时间:2024/05/17 04:35
EJB是采取多层结构,原先我们数据库开发基本是应用程序(商业逻辑运算)直接调用数据库驱动,在EJB中,为将商业逻辑计算和数据库截然分开,使用多个结构式模式:Adapter模式和Bridge模式等.这样做的好处显然有三个:
1.分离了商业逻辑层和数据访问层;
2.能同时支持多个数据库;
3.但数据库类型更换时,不会设计到商业逻辑代码的大量修改.
EJB中将对数据库进行调用(如发出select等语句)称为会话bean(Sessionbean),而将对应数据库一个个记录的bean称为实体bean(Entity bean);由这两种类型的bean完成对数据库的访问.
会话bean一般和客户端应用是一一对应,而和数据库端联系紧密的是实体bean,EJB在实体bean(或直接在会话bean)和数据库之间使用了Adapter模式和Bridge模式,无意在实体bean和数据库之间又多了一层,称之为DAO(Data Access Object ),DAO实际就是设计模式的混合体.
我们以Java的宠物店中的Catalog为例,这是专门处理宠物店中的宠物类别,在对数据库访问中,有两个主要程序:CatalogEJB和CatalogDAO,我们从具体代码中看看设计模式是怎么应用的.
Bridge模式和Adapter模式
我们首先看看CatalogEJB代码:
public class CatalogEJB implements SessionBean {
protected CatalogDAO dao;
//从DAO工厂中获取一个DAO 这是调用工厂(factory)模式的一个实例
public void ejbCreate() {
try {
dao = CatalogDAOFactory.getDAO();
}
catch (CatalogDAOSysException se) {
Debug.println("Exception getting dao " + se);
throw new EJBException(se.getMessage());
}
}
....
}
我们发现在CatalogEJB中并没有通常的会话bean那样有对数据库操作的"select .. from ."等之类SQL操作语句,这些都被封装到DAO的具体实现中(Concrete class).
在Catalog这个示例中使用了设计模式的Bridge模式,判断是否是某种模式,主要依据其参与者的种类和相互关系,我们先看看Bridge模式的定义和参与者:(未完待续)
- EJB中的设计模式
- 设计模式在EJB中的应用
- 设计模式在EJB中的应用
- 设计模式在EJB中的应用
- 设计模式在EJB中的应用
- 设计模式在EJB中的应用
- 设计模式在EJB中的应用
- 设计模式在EJB中的应用
- EJB设计模式1
- EJB设计模式
- EJB设计模式概述
- EJB设计模式4
- EJB设计模式5
- EJB设计模式1
- EJB设计模式2
- EJB设计模式3
- EJB设计模式4
- EJB设计模式5
- 汉风操作系统(hanos)
- 反射
- 在JavaScript中控制链接的点击
- RichTextBox中插入图片的方法
- SGI STL V3.2 源码剖析笔记-0. 说明和准备资料
- EJB中的设计模式
- SGI STL V3.2 源码剖析笔记-1. 空间配置器
- 说说"拍马屁"
- xslt 静态化页面的生成程序
- Asp.net(C#)实现验证码功能
- uClinux简介
- 管理十大经典理论
- 写在最开始
- 第一次和小中Msn聊天 - 2006-8-30 心情日记