《数据访问模式》笔记:数据访问器

来源:互联网 发布:sas软件免费下载 编辑:程序博客网 时间:2024/04/29 21:41

第一章:数据访问器(Data Accessor)模式

简述

“在单一组件内封装物理数据访问细节,只公开逻辑操作。应用程序代码保留底层数据模式的知识,但是与数据访问只能分开。”

封装原则

o  公开逻辑操作,封装物理操作——比如不直接使用SQL语句而用逻辑操作。

o  公开逻辑资源,封装物理资源——可以充分利用资源,例如连接的共享。

o  封装平台细节——平台无关性。

o  封装优化细节——将优化的弹性放到数据访问器中,而不是应用代码中,这样可以统一的优化。

适用性

o  需要对应用程序逻辑隐藏物理数据访问的复杂性和平台问题。

o  在底层物理数据库驱动程序所提供的语义职位,需要管理另外的语义。比如应用程序级的锁定机制。

o  需要定义多个数据访问实现并在运行时从中选择。

优点

o  清晰的应用程序代码——充斥着数据访问细节的应用程序代码难以阅读和维护,使用数据访问器,可以让应用程序代码更加集中到它自身的业务逻辑上。

o  新数据库特性或平台的采用——如果数据访问代码分布到整个系统中,如果要使用新的数据库特性(例如从SQL Server平台切换到Oracle平台)就要浏览和修改整个系统的代码,而使用数据访问器可以将这种细节封装到一个组件中。

o  结合优化策略——调整应用程序性能时,数据访问代码常常是主要的分析焦点,同样的使用数据访问器就可以一次引入优化策略而作用于整个系统。

o  可交换的物理数据访问实现。

缺点

o  限制了应用程序对数据访问的控制——要求数据访问器设计要有足够的通用性。

策略

o  定义通用的逻辑操作——一方面要注意通用性;另一方面也不要引入不必要的复杂性,可以通过研究用例来解决这个问题。我觉得经验的积累也很重要。

o  留下优化和改进的位置——在开发过程中经常要牺牲功能以保证进度。

o  防止应用程序的抵消用法。

实例化

o  单件(Singleton)数据访问器实现。

o  初始化和参数传递——缺点是需要在类的构造函数和操作定义一个额外的参数。

o  数据访问器工厂。

原创粉丝点击