策略模式:(分别封装行为接口,实现算法族,超类里放行为接口对象,在子类里具体设定行为对象)
原则:
分离变化部分,封装接口,基于接口编程各种功能。此模式让行为算法的变化独立于算法的使用者。
举例说明:
分别封装行为接口:FlyBehavior、QuackBehavior;
实现算法族:BadFlyBehavior、GoodFlyBehavior、NoFlyBehavior;GaGaQuackBehavior、GeGeQuackBehavior、NoQuackBehavior;
超类里放行为接口对象:
在子类里具体设定行为对象:
在使用的时候:
例子结构:
1 package com.java.hexter.stimulateduck.flybehavior; 2 3 public interface FlyBehavior { 4 void fly(); 5 }