策略模式
描述
若函数中某个地方可以有不同的策略去解决,则可以将这些策略抽象成接口。
代码实现示例
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;
}
}