zoukankan      html  css  js  c++  java
  • java学习笔记-设计模式14(策略模式)

    意图

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

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

    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

  • 相关阅读:
    git创建、删除分支
    Git 基础
    python pillow
    phantomjs 下载
    python3安装PIL
    selenium打开chrome时,出现 "您使用的是不受支持的命令行标记:--ignore-certificate-errors""
    chrome driver 下载
    go 单进程并发
    go 内嵌对象类型
    go 多态
  • 原文地址:https://www.cnblogs.com/gxl00/p/5018566.html
Copyright © 2011-2022 走看看