一、需求描述
我们的项目中有一个发送短信验证码的功能,平台方为了避免被恶意刷量,所以做了一个发送数量限制。由于我们系统不能限制发送数量,如果被平台方限制发送数量,将导致短信无法发送,致使用户流失,所以需接入其他平台作为备用。
二、困境
原本只考虑了单平台所以如果想加入其他短信平台就会导致和现有结构不兼容,导致切换过程复杂,修改代码量大,隐患较大,现有流程如下:
三、解决方案
结合以上原因,打算重新封装一个短信发送功能,该功能能够在不影响原有接口的情况下兼容原有程序,实现新增任何平台均可无缝对接,永久解决问题,方案流程图如下:
四、业务分析
根据上图得知,无论是是阿里大于、短信宝或者其他平台,在这个系统里都需要使用到一个发送功能,那么我们可以使用PHP类与对象中的对象接口,来指定各平台类中必须实现的方法,实现代码统一规范。
五、代码实现
运用到的技术:适配器模式
代码部分请前往Github查看:查看代码
以上方案仅为个人想法,欢迎各位在评论中留言相互学习
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…