DAO 设计模式(面向接口编程的思想) J2EE 开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开
实现DAO 模式能够更加专注于编写数据访问代码
我们先来回顾一下DAO 设计模式和数据访问对象
DAO 基础 DAO 模式是标准的J2EE 设计模式之一
开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开
一个典型的DAO 实现有下列几个组 件 : 1
一个DAO 工厂类; 2
一个DAO 接口; 3
一个实现DAO 接口的具体类; 4
数据传递对象(有些时候叫做值对象)
具体的DAO 类包含了从特定的数据源访问数据的逻辑
在下面的这段中你将学到设计和实现数据访问对象的技术
事务划分: 关于DAO 要记住的一件重要事情是它们是事务性对象
每个被DAO 执行的操作(象创建,更新、或删除数据)都是和事务相关联的
同样的,事务划分 ( transaction demarcation)的概念是特别重要的
事务划分是在事务界定定义中的方式
J2EE 规范为事务划分描述了两种模式:编程性事务( programmatic)和声明性事务 ( declarative)
下表是对这两种模式的拆分: 声明性事务划分 编程性事务划分 程序员使用EJB 的布署描述符声明事务属性 程序员担负编写事务逻辑代码的责任
运行时环境(EJB 容器)使用这些属性来自动的管理事务
应用程序通过一个API 接口来控制事务
我将把注意力集中的编程性事务划分上
象前面的介绍一样,DAOs 是一些事务对象
一个典型的DAO 要执行象创建、更新、和删除这的事务性操作
在设计一个DAO 时,首先要问自己如下 问题: 1、 事务将怎样开始
2、 事务将怎样结束
3、 那个对象将承担起动一个事务的责任
4、 那个对象将承担结束一个事务的责任