入门设计模式之策略

Posted zhixiang-org-cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了入门设计模式之策略相关的知识,希望对你有一定的参考价值。

 

学习更多设计模式请参考:入门设计模式之汇总篇

 

策略模式:使算法在不影响客户端的情况下发生变化。

 

例如某宝上的一件商品,有时候8折并返现3元、有时候7折返现1元、有时候9折不返现、有时候不打折返现2元等等,我们可以看到这个商品不同时刻要计算利润或者什么的时候是不一样的,现在就可以用到策略模式了。

 

 

 

技术分享图片

代码:

public abstract class Algorithm {
    public abstract void method();
}

public class Algorithm1 extends Algorithm {
    @Override
    public void method() {
    }
}
public class Algorithm2 extends Algorithm {
    @Override
    public void method() {
    }
}

public class Algorithm3 extends Algorithm {
    @Override
    public void method() {
    }
}

public class Client {
    private Algorithm algorithm;
}

当需要更换算法实现的时候我们只需要更换Client对象持有的Algorithm的实现就可以了

 




本文出自https://zhixiang.org.cn/#/blog/read/1b8449ba-6740-40c7-b180-b5152d48625e,转载请保留。




以上是关于入门设计模式之策略的主要内容,如果未能解决你的问题,请参考以下文章

设计模式入门-策略模式&观察者模式

入门设计模式之汇总篇

深入浅出设计模式之策略模式观察者模式

设计模式之策略模式(Strategy)详解及代码示例

JavaScript 设计模式之策略模式

java设计模式之策略模式