小实验·设计模式-简单工厂模式

背景

我现在做的产品属于公共组件;

之前和我们对接的有一个产品要更新大版本了;然后。。。工作量就来了

本来他们4.0版本的和我们对接过了,也提供了一些列的接口给我们用;然后他们现在要大版本变迁,迭代到5.0去;再然后。。。。之前对接的接口都不要了,,,要重新对接(都是自己公司的,就是任性)。。

同时,at the same time,由于各个局点还在商用,所以我们的代码要保持着能够兼容他们4.0产品的同时,也要支持他们的5.0产品。

综上,老的接口不能丢,新的接口要能够对接

so,how to deal it ???

简单工厂模式

明确一下条件:老的接口在新版本里没有了,但是有其他的接口可以一一替代;

首先,我们想到的是直接使用简单工厂模式的思路,先搞一版

干货来喽。。。

抽象接口

第一步,抽象出一个接口,假设就叫“IService”好了,然后我以一个方法举例,假设就叫“getName()”;

这里的方法表面了两点:

  1. 这个方法没有入参
  2. 这个方法的返回值是一个String

(这里我抬个杠:如果两个版本中同一个方法的返回值都不一样了咋整?更进一步,如果两个版本针对同一个方法,不仅返回值不一样,而且连入参都一样,又咋整?)

代码如下

pack
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值