重温C#设计模式---1

简单工厂模式,工厂模式和抽象工厂模式

SFPSimple Factory Pattern)通常是根据提供给它的数据,来返回几个可能类中的一个类的实例。通常它返回的类都有个一个共同的父类和方法,但每个方法的任务不同,而且根据不同的数据进行了优化。

例子1:通过输入不同格式的名字来返回你的firstnamelastname:

首先是父类:

 

按照概念,应该有两个或以上的子类来继承父类:

 

最后是简单工厂类,通过它来判断应该选择哪个子类来执行:

 

运行结果:

 

例子2:快速傅里叶变换:

因为在快速傅里叶变换中当y为零时计算公式比较特殊,所以我们可以把普通情况和特殊的y=0情况视为和上面那个例子中的firstfirstlastfirst两种相似的情况。

 

经过80次变换后的最终结果:

 

 

工厂方法模式:

FMP(Factory Method Pattern)SFP上升级了,它不再去使用一个类来决定实例化哪个子类,相反超类把决定权延续到每个子类。

例子:

 

抽象类中定义了很多方法,子类中国重载它的某些方法来实现特殊的功能,例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值