策略模式(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();
}
}