首页 > 其他 > 详细

简单方法vs工厂方法

时间:2014-07-08 14:34:22      阅读:384      评论:0      收藏:0      [点我收藏+]

一、“计算器”结构图——简单工厂模式

bubuko.com,布布扣

       简单工程模式:对具有相同功能的类进行抽象得到父类,这些类继承它成为子类。为了对这些功能进行选择,建立一个工厂类进行判断,其中运用一个Switch语句。

       优点:结构简单、操作单一。

       缺点:需要事先考虑周到,操作时需准确。由下的“功能扩展”中可知,易违背设计模式六大原则中的“开放-封闭原则”。

       功能扩展:若增添功能方法,则需另添加一个类,在运算类中添加的相应的方法,再修改客户端中的Switch语句中的case项。

二、“计算器”结构图——工厂方法模式

bubuko.com,布布扣

       工厂方法模式(Factory Method):先建立一个工厂接口,再通过具体工厂来实现接口,同时调用相应的算法类,这些算法类真正执行具体算法。

       优点:灵活度高,可扩充性较强。同时客服了简单工厂模式的开放-封闭原则的不足。

       缺点:结构冗余,需建立的类较多,增加了复杂度。

       添加功能:添加工厂来实现接口,添加一个算法类来供工厂调用,在客户端即可使用此功能了。


列表对比:

bubuko.com,布布扣

总结:通过上面的“结构图”和“列表对比”,我们很容易能发现,在固定的小需求中简单工厂模式的工作量小于工厂方法模式,在资源的开销上也确实要小一些;而工厂方法模式比较全面一些,在应对变动需求的时候显示出了它的灵活性。各有千秋,只是使用在不同的位置上。

           “简单工厂模式”有它单纯、直率的一面,这是我们可以学习和善加利用的;

           “工厂方法模式”也表现出了它的细致灵活、能担当,这也是我们程序猿的好助手。



简单方法vs工厂方法,布布扣,bubuko.com

简单方法vs工厂方法

原文:http://blog.csdn.net/wangqingbo0829/article/details/37390471

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!