一、概述
我们工作的业务代码从注释、命名、方法和异常等多方面实现整洁代码,但是感觉不够简洁,不够优雅,因为这是设计上的不足,总结就是抽象不够、可读性低、不够健壮。那这些就用到了设计模式。
java本身没有设计模式,但是随着时代的发展,写代码是人多了,他们便总结出了一套能提高开发和维护效率的套路,这就是设计模式。设计模式不是什么教条或者范式,它可以说是一种在特定场景下普适且可复用的解决方案,是一种可以用于提高代码可读性、可扩展性、可维护性的最佳实践。
二、短信发送策略
我目前在职的公司主营业务是智能语音外呼,主要是用机器人语音外呼替代人工,为了提升外呼之后的转换,通常会给客户发送一条挂机短信。但是因为通信通道的不稳定性以及业务复杂性(每个通道能发送的短信模板都是不一样的,比如营销类短信,游戏类短信),导致我们经常要对接各种短信通道。多数的小伙伴就会写出以下的代码:
if(type=="A通道"){
//按照A通道的对接文档进行对接
}else if(type=="B通道"){
//按照B通道的对接文档进行对接
}else{
//按照默认格式解析
}
这个代码可能会存在哪些问题呢?
- 如果分支变多,这里的代码就会变得臃肿,难以维护,可读性低。
- 如果你需要接入一种新的解析类型,那只能在原有代码上修改。
说得专业一点的话,就是以上代码,违背了面向对象编程的开闭原则、单一原则以及迪米特法则。
- 开闭原则&#