设计模式在实际业务应用中的介绍之1——抽象工厂模式实现对数据库访问组件的封装

设计模式在实际业务应用中的介绍之1——抽象工厂模式实现对数据库访问组件的封装

基于C#打造的通用数据库访问组件

基于C#打造的通用数据库访问组件,完全支持开闭原则,设计上支持可扩展支持任意主流数据库,目前组件只实现了Oracle、MS SQL、MySQL三种库。

该组件实现简单、架构清晰,目前组件只包括5个类文件,兼容了三种数据库,组件实现采用了单例模式、工厂模式。

获取组件源码请入QQ群706224870,在群文件中下载。入群验证信息:codefc

下面简单描述下实现思路:

5个类文件如下:DBFactorySingleton.cs、AbstractDBFactory.cs、OracleClientDBFactory.cs、MSSqlServerDBFactory.cs、MySqlDBFactory.cs

1、DBFactorySingleton文件采用单例模式管理组件访问工厂的建立

2、AbstractDBFactory文件采用抽象类描述了组件的相应方法及一些兼容多种数据库的常规应用方法

3、OracleClientDBFactory文件实现AbstractDBFactory的功能,专门用于处理Oracle数据库

4、MSSqlServerDBFactory文件实现AbstractDBFactory的功能,专门用于处理MSSqlServer数据库

5、MySqlDBFactory文件实现AbstractDBFactory的功能,专门用于处理MySql数据库

下面是组件的结构图:

DBFactorySingleton文件部分内容截图

AbstractDBFactory文件部分内容截图

OracleClientDBFactory文件部分内容截图

MSSqlServerDBFactory文件部分内容截图

MySqlDBFactory文件部分内容截图

原文地址:https://www.cnblogs.com/maotou/p/9049268.html

时间: 2024-10-15 14:20:16

设计模式在实际业务应用中的介绍之1——抽象工厂模式实现对数据库访问组件的封装的相关文章

设计模式在实际业务应用中的介绍之——总结

上面通过3篇文章的描述,分块介绍了下设计模式在实际项目中的应用,下面对此做一个简要的总结. 大家都知道面向对象的一些核心概念,在此罗列出来以便增强一下对面向对象的认识. 三大特性:封装.继承.多态: 封装:隐藏对象的具体实现,通过公共方法暴露对象的功能 继承:子类继承父类后复用父类的功能,通过子类继承也可以按需扩展父类的功能 多态:同一类的实例的相同方法在不同的情况下有不同的表现形式,一般分为2种:编译时多态(方法重载):运行时多态(继承.方法重写.向上转型) 类与类之间的关系:继承/泛化.实现

JAVA设计模式之抽象工厂模式

本文继续介绍23种设计模式系列之抽象工厂模式. 前面已经介绍过简单工厂模式和工厂方法模式,这里继续介绍第三种工厂模式-抽象工厂模式,还是以汽车的制造为例. 例子背景: 随着客户的要求越来越高,宝马车需要不同配置的空调和发动机等配件.于是这个工厂开始生产空调和发动机,用来组装汽车.这时候工厂有两个系列的产品:空调和发动机.宝马320系列配置A型号空调和A型号发动机,宝马230系列配置B型号空调和B型号发动机. 概念: 抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象.比如

JAVA设计模式之抽象工厂模式 (转)

前面已经介绍过简单工厂模式和工厂方法模式,这里继续介绍第三种工厂模式-抽象工厂模式,还是以汽车的制造为例. 例子背景: 随着客户的要求越来越高,宝马车需要不同配置的空调和发动机等配件.于是这个工厂开始生产空调和发动机,用来组装汽车.这时候工厂有两个系列的产品:空调和发动机.宝马320系列配置A型号空调和A型号发动机,宝马230系列配置B型号空调和B型号发动机. 概念: 抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象.比如宝马320系列使用空调型号A和发动机型号A,而宝

设计模式(六)抽象工厂模式

一.应用背景 还是以宝马汽车制造为例. 随着客户的要求越来越高,宝马车需要不同配置的空调和发动机等配件.于是这个工厂开始生产空调和发动机,用来组装汽车.这时候工厂有两个系列的产品:空调和发动机.宝马320系列配置A型号空调和A型号发动机,宝马230系列配置B型号空调和B型号发动机. 二.具体例子: 抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象.比如宝马320系列使用空调型号A和发动机型号A,而宝马230系列使用空调型号B和发动机型号B,那么使用抽象工厂模式,在为32

设计模式-抽象工厂模式(04)

定义 抽象工厂模式(Abstract Factory Pattern)是一种比较常见的模式.英文原话是Provide an interface for creating families of related or dependent objects without specifying their concrete classes.意思是为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类. 抽象工厂模式是工厂方法模式的升级版本.当有多个业务品种需要进行分类时,通过抽象工厂模式

设计模式11:抽象工厂模式

阅读材料:http://baike.xsoftlab.net/view/209.html#3_2 抽象工程模式解决的问题: 当前有一套产品,称为A:另一套产品称为B.客户端代码需要在两套产品中切换. 抽象工厂模式相当于在简单工厂模式之上又抽象了一层,使得客户端代码在两套产品切换中比较方便. 但是抽象工厂模式还是会引发大量的改动.如果要减少改动,可以使用反射+简单工厂解决这个问题. UML: User相关代码: package abstractfactory; public abstract cl

《Java设计模式》之抽象工厂模式

场景问题 举个生活中常见的例子--组装电脑,我们在组装电脑的时候,通常需要选择一系列的配件,比如CPU.硬盘.内存.主板.电源.机箱等.为讨论使用简单点,只考虑选择CPU和主板的问题. 事实上,在选择CPU的时候,面临一系列的问题,比如品牌.型号.针脚数目.主频等问题,只有把这些问题都确定下来,才能确定具体的CPU. 同样,在选择主板的时候,也有一系列问题,比如品牌.芯片组.集成芯片.总线频率等问题,也只有这些都确定了,才能确定具体的主板. 选择不同的CPU和主板,是每个客户在组装电脑的时候,向

Android中的设计模式-抽象工厂模式

抽象工厂模式(Abstract Factory) 先上类图吧,自己懒得画了,找了个现成的 抽象工厂的引入是根据需求而产生的,说到这里先要提到一个名字-产品族(Product Family),还是以生产汽车为例,我想要一个上汽的汽车工厂能够同时生产一款MPV,一款SUV和一款Sedan,那比如说它就是上海通用别克的工厂啦,可以生产MPV GL8,生产SUV 昂科威,可以生产Sedan 君威,这几款产品就算是一个产品族.作为公司高层,肯定是希望工厂能够有能力同时生产这三款车,将这个工程抽象出来,就成

java/android 设计模式学习笔记(4)---抽象工厂模式

再来介绍一下抽象工厂模式(Abstact Factory Pattern),也是创建型模式之一,上篇博客主要介绍了工厂方法模式.抽象工厂模式和工厂方法模式稍有区别.工厂方法模式中工厂类生产出来的产品都是具体的,也就是说每个工厂都会生产某一种具体的产品,但是如果工厂类中所生产出来的产品是多种多样的,工厂方法模式也就不再适用了,就要使用抽象工厂模式了. 抽象工厂模式的起源或者最早的应用,是对不同操作系统的图形化解决方案,比如在不同操作系统中的按钮和文字框的不同处理,展示效果也不一样,对于每一个操作系