日期:2014-05-20  浏览次数:20618 次

谁能够讲讲简单工厂模式和策略模式有什么本质区别?
谁能够讲讲简单工厂模式和策略模式有什么本质区别?
谢谢

------解决方案--------------------
区别很大哦,前一个解决的问题是 对象的创建 

后一个封装一系列的算法 并使他们可以替换。
------解决方案--------------------
前一个是创建模式,后一个是行为模式。
------解决方案--------------------
策略模式:定义算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
简单工厂:将对象的创建完全独立出来,让对象的创建和具体的使用客户无关。
简单工厂严格意义上不是一种设计模式,只能是一种良好的编程习惯。
------解决方案--------------------
实际整个Strategy的核心部分就是抽象类的使用,使用Strategy模式可以在用户需要变化时,修改量很少,而且快速。

  Strategy和Factory有一定的类似,Strategy相对简单轻易理解:

  Strategy适合下列场合:

  1.以不同的格式保存文件;

  2.以不同的算法压缩文件;

  3.以不同的算法截获图象;

  4.以不同的格式输出同样数据的图形,比如曲线 或框图bar等。


------解决方案--------------------
简单工厂侧重明确类的职责
策略侧重演示抽象类的使用
------解决方案--------------------
探讨
策略模式:定义算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
简单工厂:将对象的创建完全独立出来,让对象的创建和具体的使用客户无关。
简单工厂严格意义上不是一种设计模式,只能是一种良好的编程习惯。