C#--抽象工厂设计模式--三层框架
2017-09-13 06:26
411 查看
项目各层之间的引用关系
搭建基于抽象工厂的三层框架
设计数据访问接口模块DAL
编写SQLServer数据库的SQLHelper
。
和其他框架编写完全一样
使用SQLServer数据提供程序实现IDAL中的所有接口方法
编写访问Access数据库的AccessHelper
需要使用 using System.Data;using System.Data.OleDb;
全部改成OleDb数据访问对象
使用Access数据库提供程序实现IDAL中的所有接口方法
编写配置文件
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add connectionString="Server=.;DataBase=StudentManageDB;Uid=sa;Pwd=aaa999a9" name="connString" /> <add connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\SQL\DB\StudentManageDB.mdb" name="accessConnString" /> </connectionStrings> <appSettings> <add key="" value=""/> <add key="" value=""/> </appSettings> </configuration>
基于反射技术编写抽象工厂类
配置抽像文件,多个数据库对象择期一
在BLl中使用接口和工厂
抽象工厂设计模式应用测试
设计好Access数据库,改变配置文件的相关配置信息,实现不同数据库访问。将DAL模块需要单独复制到UI中的Debug文件夹中,供反射对象使用
抽象工厂设计模式总结
抽象工厂与简单工厂异同:相同点:两者都是解决对象类型选择和对象动态创建的问题,保证系统可扩展性、可维护性。
不同点:简单工厂只能选择一个对象,而抽象工厂是选择一组对象。
抽象工厂的应用范围:
在开发中抽象工厂不仅能解决DAL的不同需求问题。也可以根据需要设计BLL的抽象工厂模式,比如有些财务软件,不同国家的财务算法有区别,这时候可以根据客户具体的要求设计不同业务逻辑,而DAL都使用相同的。
抽象工厂的不足:
设计模式在带来方便的同时,也会带来一些不足,典型的问题因为使用了反射技术造成软件系统性能一定程度的降低,但现在硬件性能高,影响在某种程度上降低很多。除非必要,不要随便使用设计模式。
项目代码Git
Access数据库文件
相关文章推荐
- C#面向对象设计模式纵横谈 学习笔记3 Abstract Factory 抽象工厂
- Android框架设计模式(二)——(抽象)工厂模式
- C#设计模式之抽象工厂
- Net框架中的设计模式之Builder(构造者)--兼谈抽象工厂和composite模式
- C#设计模式:抽象工厂方法模式
- 抽象工厂设计模式(C#)
- C# 框架是什么?MVC是什么 ?工厂模式是什么?设计模式是什么?三层架构是什
- Net框架中的设计模式之Builder(构造者)--兼谈抽象工厂和composite模式
- C#设计模式之简单工厂篇
- 万能游戏框架(一)——设计模式之工厂模式
- 设计模式之抽象工厂
- 抽象工厂与建造设计模式结合
- C# 设计模式-工厂方法(Factory Method)
- C# 设计模式系列教程-简单工厂模式
- 【设计模式】全局看 简单工厂 -工厂方法- 抽象工厂
- Java设计模式-抽象工厂
- 学习笔记_Java_day12_设计模式MVC(13).JavaWeb的三层框架(14)
- 扩展无极限:工厂设计模式与C#扩展方法的结合使用
- C#简单工厂设计模式
- 【设计模式】抽象工厂