代码里的世界观——通往架构师之路

随笔分类 - 《代码里的世界观》
用最直接的大白话来聊一聊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:在数据驱动方法里,数据源可以转换形式,更换位置。比如将数组的数据移植到配置文件,这样它对主体代码完全是透明的,修改的风险明显降低

你可能感兴趣的:(设计模式)