zoukankan      html  css  js  c++  java
  • 六、数据驱动——把变化抽象成数据

    案例1

    张牙舞爪的if-else

    if(type == "mp4"){
        isValid = true;
    }else if(type == "txt"){
       isValid = true;
    }else{
     ....
    }

    用数组装变化的数据

    string[] validTypeArray = {"mp4","txt","ppt",...}
    
    bool isValidFileType(string type){
        return validTypeArray.Contains(type);
    }

    案例2

      在批量处理数据的时候遇到一个特殊数据需要进行特别处理

    //处理特殊数据,并进行额外操作
    if(number == "123"){
        DoSomething();
    }

      这样做不是一个好办法,因为他没有预见变化。

      版本2:把数据隔离到一个数组里面

    //定义一个数组去承载这些特殊函数
    Array exceptionNumbers = {
        "123","456"
    };
    
    
    //定义一个判断函数
    bool  isExceptionNumber(string number){
        return exceptionNumbers.contains(number);
    }
    if(isExceptionNumber(string number)){
        DoSomething();
    }

      版本3:在数据驱动方法里,数据源可以转换形式,更换位置。比如将数组的数据移植到配置文件,这样它对主体代码完全是透明的,修改的风险明显降低。

  • 相关阅读:
    判断文件结束,feof……
    第五篇 分治思想(例子待加)
    第四篇 枚举思想
    第三篇 贪心思想
    第二篇 递归思想
    第一篇 递推思想
    爬虫系列
    整数划分问题
    html中a标签做容器的问题
    H5学习小结——div+css创建电子商务静态网页
  • 原文地址:https://www.cnblogs.com/juanzhi/p/12371041.html
Copyright © 2011-2022 走看看