• 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

  • 相关阅读:
    JS ipad图片拖动缩放 PHP
    PHP 格式化输出 PHP
    PHP Smarty模版使用 PHP
    PHP PDO小试 PHP
    PHP 获取网页所有连接 PHP
    C# 生成不重复随机字符串 (1秒内生成1000000个) PHP
    使用VS 开发PHP PHP
    PHP 扑捉未处理异常 PHP
    PHP 格式化MYSQL返回float类型 PHP
    CheckBox 选中判断及实现单选功能
  • 原文地址:https://www.cnblogs.com/gxl00/p/5018566.html
Copyright © 2020-2023  润新知