目前在一家网络金融公司做groupleader,看到以前的项目写的代码if else太多,有的是if里面套if,for循环里面有循环,代码太不优雅。
因为项目中确实遇到很多情况的判断,这个无法避免。
但是比如说我们对接其他渠道的时候,需要注册以及校验,获取信息等等操作时,就需要不断的往代码里面写判断。有人说用switchcase会不会好点,但是还是不够优雅。
在学习某位大牛的操作时候,发现巧妙的利用了策略模式,利用反射动态代理方式,实现了功能的同时,代码更优雅。
直接上代码。
我目前定义两个渠道kaka doudou ,他们都需要进行校验的动作。那么可以
但是InnerCommand是
当请求过来时,同样的参数,同样的语义,唯一不同的就是渠道
那我们需要在controller层做的事情是
发现
利用定义的渠道不同去获取当前的服务类,进而去调用syncCheck()方法
打印完毕。