前言:
在开发中你是否为下图这样的代码感到稍许苦恼,如果没有请您绕开继续划水。
(图-1)
在开发中,我应用到了三种模式尝试让他们变的美观,低耦合,易维护。
方式一:业务结构相似的赋值/取值
如上图,传值判断和赋值相似,可以采用定义枚举来封装代码
回头再看完业务中的代码,变成了短短三行,达到了封装的效果。
方式二:简单工厂模式优化
同样的,还是图-1所示,如果每个if else中的业务需要分别处理,无法进行方式一一般封装的情况下,if else较多,处理逻辑复杂的情况下,代码只会越写越长,可读性和耦合性不甚理想,有时会难以维护,这是可以把单个if else 代码封装成一个业务类去处理,看代码:
1.定义父类或接口
2.子类继承父类或实现接口的方法
3.工厂类匹配相应业务类
4. 封装后业务模块单独处理,易于维护;
方式三:工厂模式+java特性+spring
1.通过spring上下文获取bean
2.添加含通用方法的接口
3.实现通用接口并向spring注册bean
4.业务实现
值得注意的是,这里注入的bean名称要和templateName一致