生产环境接口-需要兼容新的业务怎么办?

DBC 1.9K 0
需求背景

小滴课堂里面有个电商支付项目,里面有个登录功能,已经线上运行了
客户端A 调用生产环境的登录接口B,且线上稳定运行了好几年。

某天,公司接到收购了别的公司的项目,需要把这套系统部署在起来,且收购的项目也有对应的客户端C,但是两个客户端和服务端的协议不一样

需求:收购的项目客户端C,需要做公司原来的项目用户数据打通,连接公司的服务端登录接口B,你能想到几个解决方案?

1、修改就项目B的登录接口,兼容C客户端协议(可能影响线上接口,不稳定)
2、新增全新的登录接口F,采用C客户端协议(和旧的业务逻辑会重复)
3、新增一个转换协议接口,客户端C调用旧的B接口之前,使用转换接口转换下协议(适配器模式,推荐这个方式)

生产环境接口-需要兼容新的业务怎么办?插图

  • 总结
    • 在使用一些旧系统或者是类库时,经常会出现接口不兼容的问题,适配器模式在解决这类问题具有优势
    • 学习设计模式一定不要局限代码层面,要从软件系统整体去考虑,而不是为了使用设计模式,而去使用设计模式

       

 

  • 优点
    • 可以让任何两个没有关联的类一起运行,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作
    • 增加灵活度, 提高复用性,适配器类可以在多个系统使用,符合开闭原则
  • 缺点
    • 整体类的调用链路增加,本来A可以直接调用C,使用适配器后 是A调用B,B再调用C

发表评论 取消回复
表情 图片 链接 代码

分享