《数据访问模式》笔记:数据访问器
来源:互联网 发布: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 数据访问器工厂。
- 《数据访问模式》笔记:数据访问器
- 《数据访问模式》笔记:层
- 《数据访问模式》笔记:解耦模式
- 《数据访问模式》笔记:主动域对象
- 《数据访问模式》笔记:对象/关系映射
- 连接模式数据访问
- 《数据访问模式》笔记:解耦模式部分小节
- 《数据访问模式》笔记:解耦模式部分
- 设计模式学习笔记--数据访问对象模式
- 数据访问模式-Decoupling Patterns
- 数据访问有哪些模式?
- 数据访问有哪些模式?
- PHP 数据访问对象模式
- Java数据访问对象模式
- Java数据访问对象模式
- 数据访问技术系列笔记
- 数据访问的一些笔记
- 数据访问
- 我为天王狂
- 第二周学习计划:继续学java入门,开始做些小jsp+java程序
- Automation Event
- 配置jdk环境
- 《数据访问模式》笔记:解耦模式
- 《数据访问模式》笔记:数据访问器
- 让你的struts能处理日期类型
- 今天我四岁了
- 超强的波多黎各,值得尊敬的美国队
- blog是什么?
- 介绍J2ME可选包的概念
- Eclipse3的插件安装不上的解决方案
- 网络ip隐藏
- 白领 放下你的“包袱”