抽象工厂模式&简单工厂模式

抽象工厂模式

优点:

如IFactory factory=new AccessFactory(),在一个应用中只需要初始化一次,这就使得改变应用的时候变得非常容易;其次它让具体的创建实例过程与客户端分离,客户端是通过它们的抽象接口操纵实例。

缺点:

再添加新功能的时候代码量维护比较大 

简单工厂模式

抛弃IFactory、AccdessFactory....取而代之的是定义DataAccess类,内部用switch实例化不同的实例,但缺点是增加其他数据库类型的话还要加case

用反射+抽象工厂的模式

Assembly。Load("抽象工厂模式").CreateInstance("抽象工厂模式.Sqlserver")==Assembly。Load(当前程序集的名称).CreateInstance(当前命名空间名称)

用反射+配置文件

如<add key="DB" value="Sqlserver"/>

原文地址:https://www.cnblogs.com/rootsoft/p/6897325.html