使用反射+抽象工厂的数据访问(2)

简介:

2 、定义针对于不同数据库的工厂类
定义针对于不同数据库的工厂类,一种数据库就需要创建一个相应的类。最主要代码就是创建不同数据库需要使用的对应的 Connection Command 等等对象。这些代码很相似,所以最常见的做法就是先定义一个基类,并且在基类中使用分支语句。
例如在基类中创建连接对象的代码:
public IDbConnection CreateConnection(string DataBaseType)
{
               switch (DataBaseType )
                      {
                             case "SqlServer":
                             {
                                    return new System.Data.Oledb.SqlConnection(sConnectionString);
                             }
                             case "Oracle":
                             {
                                    return new System.Data.Oledb.SqlConnection (sConnectionString);
                             }
                             case "Access ":
                             {
                                    return new System.Data.Oledb.SqlConnection (sConnectionString);
                             }
                            
                      }
}
这样的代码没有使用反射机制,类的实例化被“写死”在代码中,也就是说,如果需要添加其他数据库,不得不打开源代码,添加一个分支并重新编译。为了去处这种分支结构,并且在运行时根据系统提供的参数动态实例化数据库对象,我们引入了反射机制。

   

   本文转自My_King1 51CTO博客,原文链接:http://blog.51cto.com/apprentice/1360591,如需转载请自行联系原作者


相关文章
|
7月前
|
设计模式 安全 Java
特殊类设计及单例模式(C++)
特殊类设计及单例模式(C++)
65 1
|
7月前
|
设计模式 Java 数据库
JAVA设计模式2:工厂方法模式,将对象的实例化过程封装在子类
JAVA设计模式2:工厂方法模式,将对象的实例化过程封装在子类
|
设计模式 存储 索引
单例设计、多例设计、工厂设计模式、枚举的介绍及使用
单例设计、多例设计、工厂设计模式、枚举的介绍及使用
107 0
|
uml
工厂模式+配置文件+反射实现数据访问程序
工厂模式+配置文件+反射实现数据访问程序
82 0
工厂模式+配置文件+反射实现数据访问程序
|
设计模式
设计模式 - 简单工厂(静态工厂)& 工厂方法(构建工厂)
设计模式 - 简单工厂(静态工厂)& 工厂方法(构建工厂)
76 0
设计模式 - 简单工厂(静态工厂)& 工厂方法(构建工厂)
|
Java 设计模式
抽象类、接口、工厂模式(简单工厂)
抽象类:             不可以直接创建抽象类对象             抽象类也是一个普通             抽象类中也不是全部都是抽象方法             普通抽象类:                                里面有抽象方法也有普通方法      .
1159 0