您的位置:首页 > 编程语言 > Java开发

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

2015-12-04 10:29 776 查看
意图

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

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

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: