重构技巧之策略模式优化业务代码
策略模式对业务代码进行重构背景分析
在日常的开发过程中,我们肯定会遇到很多if else
或者switch case
的业务代码,作为维护这类代码的开发者来说,分支太长,影响开发者阅读代码的效率,考虑以下代码
void func()
{
if(...)
{
}
else if(...){
}
else if(...){
}// 以下省略N个else if 分支,N取0到正无穷
}
如果func
函数内部还定义了一些局部变量,而且在每个分支中有的使用并修改,有的没有使用,那就呵呵了,妥妥的一股坏代码的味道。
不过可惜,在目前很多公司的很多项目的代码中,这种坏代码肯定数不胜数。
以下介绍设计模式中的策略模式来对业务代码和具体的执行策略进行解耦,这样可以大大简化业务代码维护者的开发过程,提高代码阅读效率进一步提升开发效率。
不多说,直接上代码,重要的解释我已在代码中进行注释解释。
使用策略模式优化业务代码(C++实现)
#include<stdio.h>
template<typename T>
class SingleTon {
private:
SingleTon();