优化if-else代码的八种方法
使用枚举
优化前:
优化后:
先定义一个枚举
使用 Optional – 解决非空的判断
有时候if-else比较多,是因为非空判断导致的,这时候你可以使用java8的Optional进行优化。
优化前:
优化后:
策略模式+工厂方法消除if else
假设需求为,根据不同勋章类型,处理相对应的勋章服务,优化前有以下代码
优化前:
优化后:
首先,我们把每个条件逻辑代码块,抽象成一个公共的接口,可以得到以下代码:
我们根据每个逻辑条件,定义相对应的策略实现类,可得以下代码:
接下来,我们再定义策略工厂类,用来管理这些勋章实现策略类,如下:
使用了策略+工厂模式之后,代码变得简洁多了,如下:
优化前:
优化后: