简单工厂模式VS.工厂方法模式

先将上面2个图拿出来做比较:

 

简单工厂:

工厂方法:

 

1、简单工厂模式下,工厂类与具体父类及具体子类都有关联;而工厂模式下,工厂类只与具体父类有关联,由工厂子类负责与具体子类进行关联。

2、如果在简单工厂模式下加入新功能扩展,就要对工厂类做修改,加入新功能;而在工厂模式下,只是单纯地加入工厂子类和具体子类,而不需要对工厂类做修改,做到了“开放扩展,封闭修改”。

3、其实尽管对工厂类不需要做修改了,但是也要对客户端做修改,因为添加了对新功能的调用。也就是说工厂模式做到了对工厂类的开闭原则,却解决不了对客户端的修改。

4、一些情况下,可以考虑用工厂模式+反射来解决客户端修改问题。

转载于:https://www.cnblogs.com/xtrsblog/archive/2008/10/10/1307929.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值