工厂方法模式

       上一篇我们简单的梳理了一下简单工厂模式,我们在最后说了,简单工厂模式有一点不好的地方就是,每一次增加一个方法,你需要去工厂类里面修改增加这个运算方法类的实例化方法。具体是什么意思呢,请看下图:

     这是简单工厂类的UML图,我们可以看出,假如我们要增加一个开根号的运算类,我们需要首先增加一个根号运算类,这个没有任何问题,然后在简单工厂类中增加一个实例化根号运算类的一个方法,这其实是没有任何问题的,但是转念一想,我们竟然需要去修改已经写好的类,这在面向对象开发中是挺不好的,违反了开放-封闭原则,好了,我们说一说开闭原则是什么意思。总结起来就是对于扩展开放,对于修改封闭。我们知道,我们设计一个系统,会先设计一个1.0版本,然后根据需求不断进行迭代升级,我们在以后的开发中是根据1.0版本不断扩展功能,不会或者很少去动原先的设计,这就是这个原则的具体化表现。所以我们需要去修改已经写好的类,这个是比较不能接受的。所以工厂方法模式的出现就是解决简单工厂模式这个缺点的。UML图:

       这样是不是就非常直观了,我们只需要扩展不需要修改已经存在的任何类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值