生产环境接口-需要兼容新的业务怎么办? DBC 2021-07-13 2K 0 需求背景 小滴课堂里面有个电商支付项目,里面有个登录功能,已经线上运行了 客户端A 调用生产环境的登录接口B,且线上稳定运行了好几年。 某天,公司接到收购了别的公司的项目,需要把这套系统部署在起来,且收购的项目也有对应的客户端C,但是两个客户端和服务端的协议不一样 需求:收购的项目客户端C,需要做公司原来的项目用户数据打通,连接公司的服务端登录接口B,你能想到几个解决方案? 1、修改就项目B的登录接口,兼容C客户端协议(可能影响线上接口,不稳定) 2、新增全新的登录接口F,采用C客户端协议(和旧的业务逻辑会重复) 3、新增一个转换协议接口,客户端C调用旧的B接口之前,使用转换接口转换下协议(适配器模式,推荐这个方式) 总结 在使用一些旧系统或者是类库时,经常会出现接口不兼容的问题,适配器模式在解决这类问题具有优势 学习设计模式一定不要局限代码层面,要从软件系统整体去考虑,而不是为了使用设计模式,而去使用设计模式 优点 可以让任何两个没有关联的类一起运行,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 增加灵活度, 提高复用性,适配器类可以在多个系统使用,符合开闭原则 缺点 整体类的调用链路增加,本来A可以直接调用C,使用适配器后 是A调用B,B再调用C 本文作者为DBC,转载请注明。 0人点赞 打赏