码迷,mamicode.com
首页 > 编程语言 > 详细

java学习笔记-设计模式14(策略模式)

时间:2015-12-04 12:41:09      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

意图

  定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。

 

  策略模式多用在算法决策系统中,外部用户只需要决定用哪个算法即可。

public interface ICalculator {  
    public int calculate(String exp);  
}  
public abstract class AbstractCalculator {  
      
    public int[] split(String exp,String opt){  
        String array[] = exp.split(opt);  
        int arrayInt[] = new int[2];  
        arrayInt[0] = Integer.parseInt(array[0]);  
        arrayInt[1] = Integer.parseInt(array[1]);  
        return arrayInt;  
    }  
} 
public class Plus extends AbstractCalculator implements ICalculator {  
  
    @Override  
    public int calculate(String exp) {  
        int arrayInt[] = split(exp,"\\+");  
        return arrayInt[0]+arrayInt[1];  
    }  
} 
public class Minus extends AbstractCalculator implements ICalculator {  
  
    @Override  
    public int calculate(String exp) {  
        int arrayInt[] = split(exp,"-");  
        return arrayInt[0]-arrayInt[1];  
    }  
  
}  

测试

public class StrategyTest {  
  
    public static void main(String[] args) {  
        ICalculator cal = new Plus();  
        int result = cal.calculate( "2+8");  
        System.out.println(result);  
    }  
}  

 

  转自:http://blog.csdn.net/zhangerqing/article/details/8243942

java学习笔记-设计模式14(策略模式)

标签:

原文地址:http://www.cnblogs.com/gxl00/p/5018566.html

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