新闻中心

EEPW首页 > 设计应用 > 设计模式在业务逻辑层中的应用

设计模式在业务逻辑层中的应用

作者:时间:2009-09-06来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/261221.htm

(4)有助于提升系统的可移植性。模式通过将数据访问划分为抽象层和实现层,分离数据使用和数据访问的实现细节。这意味着业务层与数据访问的底层细节无关,也就是说,可以在保持上层机构不变的情况下,通过切换底层实现来修改数据访问的具体机制,提高了系统的可复用性。

(5)组件依赖于系统,提供访问接口,只要没有重构,DAO层通常无须改写。DAO层透明地分离数据库与业务逻辑层,业务逻辑层专注于业务逻辑的实现,而无须关心持久层访问的实现。

(6)DAO模式的进一步改良。由于DAO层已实现所有的数据访问,业务逻辑层只需调用DAO接口,因此业务逻辑层要使用Facade模式包装DAO。为实现跨数据库平台移植,支持不同数据访问机制之间的可配置切换,需在DAO层引入Factorv模式、Proxy模式和Strategy模式,则可方便地在不同数据存储方式间切换。然而,采用DAO模式,系统在请求数据端和数据服务端之间增加一层,增加了系统的复杂度;新增加的一层需要额外的设计与实现,增加了工作量;还需引入工厂甚至抽象工厂,增加了设计的复杂度。总的来说,DAO将数据持久层与业务逻辑层分离,提高了软件的可扩展性,可维护性和可复用性。

4.2 DAO实现

DAO对象也是。Java对象,只是它们提供数据库访问的能力。数据库的访问可归纳为创建(Create)、查询(Read)、更新(Update)、删除(Delete)4种基本操作,即常说的CRUD操作。DAO模式通常与工厂模式一起使用,建议面向接口编程,为每个DAO实现类编写接口,DAO调用者使用接口,而不是具体的实现类。当然,DAO对象需要值对象来传值,值对象就是普通的JavaBean。以下是一个DAO的示例。图3为数据访问对象的参与对象和它们之间的调用关系。图4为该示例的详细类图。


该DAO示例包含文件:DAO接口类、DAO接口实现类、DaoFactory类、PersonBean类、DBConn类、Test类。接口里定义 DAO对象必须提供方法,PersonBean是一个普通的JavaBean,DAO对象的实现类为接口的全部方法提供实现。程序中还用到工具类 DBConn,该工具类主要用于获得数据库连接,通过连接获得Statement对象,并提供释放Statement对象、关闭连接的方法。

程序将DBConn对象设计成单态模式。至此,完整的DAO实例编写完成。程序主要提供3个组件:传值的JavaBean类,DAO对象的接口,DAO对象的实现类,实现类包括所用的工具类。DAO模式通常与工厂模式相结合,DAO工厂负责产生DAO实例。两者结合可更好地实现业务组件与持久层组件的解耦。业务组件只需获取DAO工厂实例,然后由DAO工厂实例负责产生DAO组件。业务组件则面向DAO接口编程,无须关心DAO的具体实现。

5 结束语

分析传统3层软件体系结构的优缺点,从软件模式角度出发,对其进行改进,提出4层开发模型,提高了系统的可扩展性、可复用性、可维护性,并给出一个具体应用实例实现DAO


上一页 1 2 下一页

关键词: 设计模式 DAO 数据库

评论


相关推荐

技术专区

关闭