DAO设计模式简介
DAO的主要功能是数据操作,在程序的标准开发架构中属于数据层的操作。数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。
在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。
J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开实现,DAO模式能够更加专注于编写数据访问代码。DAO是事务性对象,每个被DAO执行的操作(对象创建,更新、或删除数据)都是和事务相关联的。
一个典型的DAO实现有下列几个组件:
1. 一个DAO工厂类;
2. 一个DAO接口;
3. 一个实现DAO接口的具体类;
4. 数据传递对象(有些时候叫做值对象).
程序的标准开发架构如图所示:
其中客户层、显示层、业务层和数据层分别介绍如下:
客户层:因为目前都采用B/S开发架构,所以一般都使用浏览器进行访问。
显示层:使用JSP/Servlet进行页面效果的显示。
业务层(Business Object):业务对象,简称BO,会将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑。
数据层(DAO):提供多个原子性的DAO操作,如增加,修改,删除等,都是原子性的操作。
摘抄自李兴华一书,仅供学习。