设计模式之抽象工厂+反射(C#版)

本文介绍了如何使用C#实现抽象工厂模式,以解决在数据库操作中因需求变化导致的代码修改问题。通过接口和反射技术,实现了无需修改源代码即可切换数据库类型,降低了代码维护的复杂性。同时强调了接口在编程中的重要性,指出接口的使用能降低对类的依赖,提高代码的灵活性。
摘要由CSDN通过智能技术生成

设计模式之抽象工厂+反射(C#版)

简介

在之前的简单工厂里面有两个问题,第一个是switch case的使用会使代码随着类的增多而增多,不便于后面的维护(试想你看着代码里面,一堆的case…),第二个问题是,工厂返回的是指定的类,返回指定类为什么不太友好呢?因为这就相当于,我需要知道你是谁才知道你能干什么(如果现在还不懂什么意思的话,不要着急哈,后面看了我代码的实现就知道了)。

假设有个项目经理

对,这次来假设,有个项目经理,找你做一个对SqlServer数据库进行读写的基本程序,然后你就想,项目经理这种比女朋友还多变的人啊,他叫我写一个用SqlServer的,可能我都还没写完,就跟我说要改成使用Mysql的数据库,那我不就又白写了。这个时候突然灵光一现,我不是才学完简单工厂模式,终于可以用上了,拍了几下胸口(虽然我也不知道为什么写代码要先拍几下胸口),几秒钟后,就写出来了。

public abstract class DBBase
{
   
	public abstract void Query();
}
public class SqlServerDB : DBBase
{
   
	public override void Query()
	{
   
		Console.WriteLine("从server中查询");
	}
}
public class MysqlDB : DBBase
{
   
	public override void Query()
	{
   
		Console.WriteLine("从Mysql查询");
	}
}
public class DBFactory
{
   
	public static DBBase 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值