策略模式

来源:互联网 发布:南京浦口星甸网络问政 编辑:程序博客网 时间:2024/06/05 23:03

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


链接处有相关代码。

代码的解释:

设计一个Duck(鸭子)类。因为鸭子有呱呱叫和飞行两种方法,但是并飞所有的鸭子都有这两个功能(如橡皮鸭)。所以将鸭子的飞行和呱呱叫放在分开的类中,此类专门提供某行为接口的实现。(接口分别是FlyBehavior和QuackBehavior)。

FlyWithWings类、FlyNoWay类、FlyRocketPowered类分别实现了FlyBehavior类

Squack类、 Quack类、 MuteQuack类分别实现了FlyBehavior类

MiniDuckSimulator是一个测试类


点击打开链接



文章内容来自:Head First


0 0
原创粉丝点击