抽象工厂模式

优点:

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

缺点:

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

简单工厂模式

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

用反射+抽象工厂的模式

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

用反射+配置文件

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

最新文章

  1. Activity的四种启动模式
  2. maven私服搭建
  3. IOS沙盒中的Documents、Library、tmp区别
  4. Python学习笔记(三)数据类型
  5. 【 D3.js 进阶系列 — 6.2 】 饼状图的拖拽
  6. android 常用颜色
  7. 基于visual Studio2013解决C语言竞赛题之0415特殊对数
  8. xcode多target
  9. Git学习 -- 自定义Git
  10. 我也谈javascript正则匹配
  11. jstl-按照html的形式输出至页面
  12. Premiere&amp;After Effects的实时预览插件开发
  13. php+redis 学习 三 乐观锁
  14. 【数据库】事务,ACID,CAP和一致性
  15. ROS进阶学习手记 7.2 -- RViz仿真实例2:Create SmartCar
  16. 史上最全的 Sublime Text 汉化、插件安装合集
  17. Android 自动化测试 robotium
  18. django关系类型字段
  19. Assert.IsNotNull 方法(判断对象不为NULL)
  20. SpringMVC封装表单数据

热门文章

  1. python3入门之列表和元组
  2. Jenkins持续集成企业实战系列之Jenkins配置演示-----03
  3. jquery.from帮助类
  4. 24.Letter Combinations of a Phone Number(电话号对应的字符组合)
  5. RNA-Seq基因组比对工具HISAT2
  6. hql语句加别名的错误
  7. qdu_组队训练(ABCFIJK)
  8. python-global全局变量
  9. WordPress 有关Https的设置
  10. [转] 利用shell创建文本菜单与窗口部件的方法