程序猿之路

策略模式

2017-06-22  本文已影响18人  三斤牛肉

定义

什么是策略模式

定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。

类型

行为型模式

类图

image.png

时序图:

image.png

特点

优点

伪代码

interface IStrategy {
  public void doSomething();
}

class StrategyA implements IStrategy {
        public void doSomething() {
            System.out.println("具体策略1");
        }
}

class StrategyB implements IStrategy {
  public void doSomething() {
    System.out.println("具体策略2");
  }
}

class Context {
        private IStrategy strategy;

        public Context(IStrategy strategy){
            this.strategy = strategy;
        }

        public void execute(){
            strategy.doSomething();
        }
}

public static void main(){
  Context ctx = new Context(new StrategyA());
  ctx.execute();
}

适用场景

上一篇下一篇

猜你喜欢

热点阅读