前两天去张家界玩了,一直荒废了学习,持续两天都没在状态,今天好好恢复下。发篇博文吧!
策略模式就是定义了一系列的算法,并将每一个算法封装起来,而且使他们还可以互相替换。策略模式让算法独立于使用它的客户而独立变化。
策略模式就是提供相同的接口,软件开发人员可以根据相应的接口实现不同的策略。然后根据不同的情况选择不同的策略,从而实现客户端代码不用修改,只需要替换不同的策略实现类即可。
抽象策略类:
public interface Strategy {
public void operation1();
}
策略类1:
public class Strategy1 implements Strategy {
public void operation1(){
}
}
策略类2:
public class Strategy2 implements Strategy {
public void operation1(){
}
}
上下文类:
public class Context {
private Strategy strategy;
public void operation1(){
strategy.operation();
}
}
此处的strategy需要注入进去,可以通过构造函数初始化,也可以通过spring的注入。
原文地址:http://blog.csdn.net/dream_angel_z/article/details/45650415