首页 > 其他 > 详细

策略模式(strategy)

时间:2015-07-07 19:14:02      阅读:199      评论:0      收藏:0      [点我收藏+]

策略模式定义了一系列算法,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。

例子:

public interface ICalculator {
     public int calculate(int a, int b);  
}
public class Plus implements ICalculator{

    @Override
    public int calculate(int a, int b) {
        return a + b;
    }

}
public class Minus implements ICalculator{

    @Override
    public int calculate(int a, int b) {
        return a - b;
    }

}

测试:

public class Test {

    public static void main(String[] args) {
        ICalculator calculator = new Plus();
        System.out.println(calculator.calculate(10, 8));
        
        ICalculator calculator1 = new Minus();
        System.out.println(calculator1.calculate(10, 8));
    }

}

结果:

18
2

策略模式的决定权在用户,系统本身提供不同算法的实现,新增或者删除算法,对各种算法做封装。因此,策略模式多用在算法决策系统中,外部用户只需要决定用哪个算法即可。上面例子简单,也可和其他组合使用。总之策略模式感觉就是面对接口编程的思想。

 

策略模式(strategy)

原文:http://www.cnblogs.com/xxr2015/p/4627805.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!