策略模式:(分别封装行为接口,实现算法族,超类里放行为接口对象,在子类里具体设定行为对象)

原则:

  分离变化部分,封装接口,基于接口编程各种功能。此模式让行为算法的变化独立于算法的使用者。

  23种设计模式之二(策略模式)

 

举例说明:

  分别封装行为接口:FlyBehavior、QuackBehavior;

  实现算法族:BadFlyBehavior、GoodFlyBehavior、NoFlyBehavior;GaGaQuackBehavior、GeGeQuackBehavior、NoQuackBehavior;

  超类里放行为接口对象:

    23种设计模式之二(策略模式)

 

  在子类里具体设定行为对象:

    23种设计模式之二(策略模式)

    23种设计模式之二(策略模式)

  在使用的时候:

    23种设计模式之二(策略模式)

 

 

例子结构:

23种设计模式之二(策略模式)

1 package com.java.hexter.stimulateduck.flybehavior;
2 
3 public interface FlyBehavior {
4     void fly();
5 }
FlyBehavior

相关文章: