策略模式

描述

若函数中某个地方可以有不同的策略去解决,则可以将这些策略抽象成接口。

代码实现示例

public class Test{
  Strategy strategy;
  
  public void main(String[] args){
    //先选择具体的策略,再执行函数
    setStrategy(new MyStrategy());
    func();
  }
  
  public void func(){
  //...
  //此处则省略了ifelse去选择策略的代码
  strategy.execute();
  //...
  }
  
  public void setStrategy(Strategy strategy){
   this.strategy=strategy;
  }
}

实际应用场景

FAQ

Last Updated:
Contributors: dongyz8