HeadFirst设计模式(中文版)--68折,当当价:¥66.80 http://t.cn/zjzWUNh
Strategy - 策略模式
策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式把行为和环境分开。环境类负责维持和查询行为类,各种算法在具体的策略类中提供。由于算法和环境独立开来,算法的增减,修改都不会影响到环境和客户端。
不管当初软件设计得多好,一段时间之后,总是需要成长与改变,否则软件就会“死亡”。
设计原则(01):
找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。
设计原则(02):
针对接口编程,而不是针对实现编程。
鸭子的子类将使用接口(FlyBehavior与QuackBehavior)所表示的行为,所以实际的“实现”不会被绑死在鸭子的子类中。