背景
我现在做的产品属于公共组件;
之前和我们对接的有一个产品要更新大版本了;然后。。。工作量就来了
本来他们4.0版本的和我们对接过了,也提供了一些列的接口给我们用;然后他们现在要大版本变迁,迭代到5.0去;再然后。。。。之前对接的接口都不要了,,,要重新对接(都是自己公司的,就是任性)。。
同时,at the same time,由于各个局点还在商用,所以我们的代码要保持着能够兼容他们4.0产品的同时,也要支持他们的5.0产品。
综上,老的接口不能丢,新的接口要能够对接
so,how to deal it ???
简单工厂模式
明确一下条件:老的接口在新版本里没有了,但是有其他的接口可以一一替代;
首先,我们想到的是直接使用简单工厂模式的思路,先搞一版
干货来喽。。。
抽象接口
第一步,抽象出一个接口,假设就叫“IService”好了,然后我以一个方法举例,假设就叫“getName()”;
这里的方法表面了两点:
- 这个方法没有入参
- 这个方法的返回值是一个String
(这里我抬个杠:如果两个版本中同一个方法的返回值都不一样了咋整?更进一步,如果两个版本针对同一个方法,不仅返回值不一样,而且连入参都一样,又咋整?)
代码如下
pack