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

来源:互联网 发布:sql 结果比较 编辑:程序博客网 时间:2024/03/29 04:47

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

策略模式(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的注入。

2 0
原创粉丝点击