对于下面的代码你是否不得不爱
臭屁一下先:
也许只有四个不足以让你产生怨恨,如果随着开发的进行,还有n多个ifelse向你驶来呢?
对于每一个if要做的,要么执行一段代码,要么返回一个对象,执行代码可以转化为返回一个方法对象,后续程序使用此方法对象做事,因此,所有的if语句都是返回一个对象
彻底去掉 if else :
1、转换为switch语句,地球人都知道,换汤不换药
2、使用反射特性,将value作为参数可以动态创建需要的对象,高级货用的比较少
3、今天隆重登场:暂时命名为“IFELSE终结者”
(1) 如下定义一个类:IfElseTerminator
(2)上述的四个ifelse语句变为如下的一条语句
ResultType rt = IfElseTerminator.Compare(value)
不愧是Terminator
(3)如果有新的ifelse来了,我可以通过IfElseTerminator.AddComparetion(c,r)得以扩展,发现过时的ifelse可以用RemoveComparetion删之