设计模式心得笔记简单工厂和策略模式

   《大话设计模式》一书中对策略模式的讲解虽然很清楚,但我觉得其实有一点很关键的东西没有讲。策略模式和工厂模式非常的想像,他们都会把分支变成一个个单独的分支类,然后把分支类在主程序流程中赋给一个变量,然后再对这个变量使用方法(这个方法是所有分支类都提供的共同方法),从而将变化封装起来。区别是,在工厂模式中,这个变量是个对象,而在策略模式中,这个变量成了对象的一个属性。《head first 设计模式》中关于策略模式提供了更详细的说明,策略模式比起工厂模式来更强大,它可以在运行中对这个属性进行改变,而工厂模式中使用的是一个对象,对象就没法在运行中改变了,没办法在运行中随时变成其它分支类。这一点上来说,策略模式应该是比工厂模式更灵活的一个加强版。

原文地址:https://www.cnblogs.com/cly84920/p/4427107.html