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