码迷,mamicode.com
首页 > 其他好文 > 详细

简单工厂模式PK工厂方法模式

时间:2014-11-25 10:53:05      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   使用   sp   on   2014   log   

          在前一章节我们讲到了简单工厂模式,它的已入确实为我们的代码增添了灵活性、可继续。那么为什么在还有工厂方法模式呢?

    什么是工厂方法模式呢?定义一个创建对象的接口,让子类决定实例化哪个类。工厂方法使实例化延迟到子类中。简单点说就是为每一个具体类创建一个工厂类(此类是继承抽象工厂类)。那么我们在客户端时候,直接用对应的工厂类创建实例。

bubuko.com,布布扣

     用简单工厂模式,我们如果需要添加行的计算方法(以运算扩充为例),那需要重新写一个继承运算类的具体类。我们而且需要修改工厂类中的判断逻辑。这样做的话就会和我们先前将的一个设计原则冲突(开放-封闭原则)。所以就有了工厂方法模式了。工厂方法模式是对简单工厂模式的扩展而来的。我们仔细可分析到:工厂方法模式实现时候,客户端需要去决定实例化哪个对象,而简单工厂则是将判断的逻辑放在工厂类中。

        我们在实际的开发过程中,并不是一定要使用这个模式,因为他们各有利弊:采用工厂方法模式,我们需要增加额外的代码(相比简单工厂模式增加了具体的工厂类),这样使得开发前期工期较长。

       从系统维护的角度思考,建议采用此模式。因为如果后续在增加新的运算方法的时候(例如:开根计算),我们的代码修改量就非常少;而且后台代码不用任何修改,只需修改调用处的判断。

简单工厂模式PK工厂方法模式

标签:style   blog   http   ar   使用   sp   on   2014   log   

原文地址:http://blog.csdn.net/sevenkj/article/details/41477489

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!