在.net中如何利用数据工厂实现多数据库的操作

2009-05-12 22:04:53来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

 在项目的开发过程中,在设计模式的概念还没有出来时,我们那时候在编写程序时,往往如果项目的数据库是采用SQL Server,然后用户又想换其它数据库如Oracle时,我们就需要对其代码进行重写,特别是在一些软件的产品化道路中,我们做出来的产品如果让用户可以有选择的去选取各种数据库,那无疑对用户提供了很大的方便。

自从工厂模式的设计理念出来以后,这一切实现就变得容易得多,如果大家对微软的PETSHOP有研究的话,那就不会陌生了,从PETSHOP3.0开始,微软就开始采用了多数据库操作系统的应用。数据工厂主要是通过把数据库的连接做成一个抽象的工厂,如命名DALFactory,程序中所有的数据库连接都通过这个工厂类来产生,用来负责根据配置文件动态创建系统所需的数据访问逻辑对象。

我们就拿PETSHOP来举例说明,PETSHOP在安装的时候,会提示我们选择什么数据库,如根据显示的是SQL Server数据库还是Oracle数据库,可以得到Web.config的节点中的:

<add key=" WebDAL " value=" PetShop.SQLServerDAL "/>
<add key=" OrdersDAL " value=" PetShop.SQLServerDAL "/>

或者是

<add key=" WebDAL " value=" PetShop.OracleDAL "/>
<add key=" OrdersDAL " value=" PetShop. OracleDAL "/>

然后在DALFactory项目的DataAccess类中调用数据库的连接,代码如下:

private static readonly string path = ConfigurationManager.AppSettings["WebDAL"];

然后再看下面的代码:

public static PetShop.IDAL.ICategory CreateCategory() {
string className = path + ".Category";
return (PetShop.IDAL.ICategory)Assembly.Load(path).CreateInstance(className);
}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:对数据访问层第一种实现(Acc+SQL)的重构

下一篇:VS 2008和.NET 3.5 Beta2新特性介绍