设计模式摘要(核心篇)一、策略模式

定义:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

模式类图

作用

用组合替代继承。灵活性强,客户可动态修改使用的算法。

注意点

  • 知道抽象、继承、多态这些概念,并不会马上让你变成好的面向对象设计者。设计大师关心的是建立弹性的设计,可以维护,可以应付变化。

OO原则:

  • 封装变化
  • 多用组合,少用继承
  • 针对接口编程,不针对实现编程

模式应用

场景

我们有一个模拟鸭子游戏,里面有各种各样的鸭子:红头鸭、绿头鸭、橡皮鸭……现在,要让一部分鸭子能够飞行(真正的活鸭才能飞)。

应用类图

参考代码:策略模式