设计模式(十三)策略模式(Strategy)-行为型

时间:2021-01-18 22:00:30

前两天去张家界玩了,一直荒废了学习,持续两天都没在状态,今天好好恢复下。发篇博文吧!

策略模式(Strategy)

策略模式就是定义了一系列的算法,并将每一个算法封装起来,而且使他们还可以互相替换。策略模式让算法独立于使用它的客户而独立变化。
策略模式就是提供相同的接口,软件开发人员可以根据相应的接口实现不同的策略。然后根据不同的情况选择不同的策略,从而实现客户端代码不用修改,只需要替换不同的策略实现类即可。

策略模式的实现原理

设计模式(十三)策略模式(Strategy)-行为型
策略模式实现原理

采用策略模式,减少条件语句的输出。

实现

抽象策略类:

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的注入。