- 策略模式:定义了算法族,分别封装起来,让它们之间可以相互替换
- 让算法的变化独立于使用算法的客户
- 鸭子的例子:QuackBehavoir,FlyBehavior接口,含有quack(),fly(),FlyWithWings,FlyNoWay,Quack,Queek等分别实现接口
- 鸭子作为抽象类,同时组合了QuackBehavior和FlyBehavior两个接口对象
- 不同的鸭子继承鸭子类,把接口初始化为需要的接口,如quackBehavior=new Quack();
- performQuack()方法中quackBehavior.quack()会根据实际情况决定调用哪个的方法。
- 可以在过程中用set随时改变鸭子行为
本文介绍了策略模式的概念及其在软件设计中的应用。通过一个鸭子的行为变化例子详细解释了如何定义算法族并封装它们,使得算法的变化独立于使用算法的客户。
2075

被折叠的 条评论
为什么被折叠?



