优雅的去除ifelse代码

目前在一家网络金融公司做groupleader,看到以前的项目写的代码if  else太多,有的是if里面套if,for循环里面有循环,代码太不优雅。

因为项目中确实遇到很多情况的判断,这个无法避免。

但是比如说我们对接其他渠道的时候,需要注册以及校验,获取信息等等操作时,就需要不断的往代码里面写判断。有人说用switchcase会不会好点,但是还是不够优雅。

在学习某位大牛的操作时候,发现巧妙的利用了策略模式,利用反射动态代理方式,实现了功能的同时,代码更优雅。

直接上代码。

我目前定义两个渠道kaka doudou ,他们都需要进行校验的动作。那么可以


但是InnerCommand是

当请求过来时,同样的参数,同样的语义,唯一不同的就是渠道


那我们需要在controller层做的事情是


发现


利用定义的渠道不同去获取当前的服务类,进而去调用syncCheck()方法


打印完毕。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容