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

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

posted on 2008-09-11 17:41  真阿当  阅读(99)  评论(0编辑  收藏  举报