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

策略模式(strategy)

时间:2015-07-07 19:16:05      阅读:112      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!