短信接口接入设计求解

目前项目想接入短信和OSS存储,想分别提供多家的短信平台和OSS存储、后台可以切换,但是后台不知道该如何设计比较好。还是只接入一家比较好呢?

阅读 1.9k
2 个回答

最简单的实现:

设计一个统一的接口,如发送短信的SMSService, 里面有一个发送方法:

interface SMSService {
  void send(String phone);
}

不同的服务商,创建一个不同的实现类,如:AliyunSMSServiceTencentSMSService...等等
如果是用spring,用哪个服务商,就为哪个服务商实现类定义为bean
如果不是,可以直接使用简单工厂模式,创建个 SMSServiceFactory用来创建 SMSService,以后更换服务商时,只改SMSServiceFactory的代码就可以

你要是想能切换,就做成配置,最简单的就是配置beanName以及接口需要的参数,我们是java,配置具体处理的类,然后调用这个类的代码即可

推荐问题