策略模式(Strategy Pattern)
定義一組算法,將它們封裝起來並且使它們可以互相替換,使算法的變化不會影響到高層模塊。
策略模式,簡單地說就是將不同的業務邏輯獨立封裝,使之彼此之間可以替換。
示例代碼:
//抽象算法
public interface Strategy{
public void doSomething();
}
//具體算法類
public class ConcreteStrategy implements Strategy{
public void doSomething(){}
}
//封裝算法
public class Context{
private Strategy strategy = null;
public Context(Strategy strategy){this.strategy=strategy;}
public void doAnything(){//封裝後的算法方法
this.strategy.doSomething();
}
}