码迷,mamicode.com
首页 > 其他好文 > 详细

入门设计模式之策略

时间:2018-06-30 23:40:22      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:private   商品   void   需要   返现   meta   变化   abs   scala   

 

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

 

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

 

例如某宝上的一件商品,有时候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,转载请保留。

入门设计模式之策略

标签:private   商品   void   需要   返现   meta   变化   abs   scala   

原文地址:https://www.cnblogs.com/zhixiang-org-cn/p/9249002.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!