首页 > 编程知识 正文

C#--抽象工厂设计模式--三层框架

时间:2023-05-06 16:18:40 阅读:247299 作者:4245

项目各层之间的引用关系

搭建基于抽象工厂的三层框架

设计数据访问接口模块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:SQLDBStudentManageDB.mdb" name="accessConnString" /> </connectionStrings> <appSettings> <add key="" value=""/> <add key="" value=""/> </appSettings></configuration> 基于反射技术编写抽象工厂类


配置抽像文件,多个数据库对象择期一

在BLl中使用接口和工厂

抽象工厂设计模式应用测试

设计好Access数据库,改变配置文件的相关配置信息,实现不同数据库访问。
将DAL模块需要单独复制到UI中的Debug文件夹中,供反射对象使用

抽象工厂设计模式总结

抽象工厂与简单工厂异同:

相同点:两者都是解决对象类型选择和对象动态创建的问题,保证系统可扩展性、可维护性。
不同点:简单工厂只能选择一个对象,而抽象工厂是选择一组对象。

抽象工厂的应用范围:

在开发中抽象工厂不仅能解决DAL的不同需求问题。也可以根据需要设计BLL的抽象工厂模式,比如有些财务软件,不同国家的财务算法有区别,这时候可以根据客户具体的要求设计不同业务逻辑,而DAL都使用相同的。

抽象工厂的不足:

设计模式在带来方便的同时,也会带来一些不足,典型的问题因为使用了反射技术造成软件系统性能一定程度的降低,但现在硬件性能高,影响在某种程度上降低很多。除非必要,不要随便使用设计模式。

项目代码Git

Access数据库文件

Java聊天室之实现运行服务器与等待客户端连接

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。