主要解决如何将数据访问从应用中分离出来的问题。只要和数据库打交道的应用,都会碰到这个问题。传统的C/S架构应用大多将数据访问和应用的代码糅合在一起,主要有几个方面的问题:
o? 与具体的数据库技术紧密耦合,比如我们公司的产品是基于SQL Server的,现在就很难切换的Oracle中去,更不要说是以后的新技术——XML数据库或面向对象数据库;
o? 应用与数据模型紧密耦合,缺少弹性。
o? 难以优化,每个模块都是由不同的程序员写的,但是不是每个人都擅长数据库的开发,所以造成程序的效率低下,而要优化这些代码成本颇为昂贵;
o? 不便于维护,当程序出现问题的时候,不容易发现问题的来源——来自业务逻辑还是数据访问逻辑;
?
这一部分介绍了四种模式:
o? 数据访问器
o? 主动域对象
o? 对象/关系映射
o? 层
?
?