关于版本兼容性

兼容性,有向上兼容和向下兼容的差别。

新版本能够支持旧版本就是向下兼容。
新版本有些时候可以向下兼容,但是很多时候也需要放弃旧代码的,这个时候旧的客户端就需要找到能够兼容他的老版dll。也就是产生了分支版本。

第二,向上兼容是旧版本能够兼容新版本。如果向下向上都兼容,那就是完全的兼容,就没有必要产生分支版本。如果旧的版本能兼容新的,说明新版本没有增加了接口,但是缩小了接口。这也是产生版本的一个因素。

对客户端来说,他需要找到最新的可兼容dll版本。首先他需要绑定一个最古老的可兼容版本,一般就是当前版本,然后运行时查找时候有,如果没有,运行时能够发现同族的其他版本。

然后查询新版本,因为新版本能够知道自己能兼容哪些旧版本。

版本产生的原因:
向上不兼容向下兼容   常见
向下不兼容向上兼容   修剪接口
向上向下都不兼容     革命性版本
向上向下都兼容       不需要添加新版本

建议版本排序:
革命性.修剪.常见.修订

方案之一:

其中,修订不影响兼容性。 

前面数字相同后,常见项数字大的兼容小的。

前面数字相同后,常见项相同,修剪项数字小的兼容大的。

革命性项变化总是不兼容。

对于接口编程来说,总是希望尽可能的利用兼容性,但是许多情况都是无法兼容的。并行执行不同版本的dll,是一个很好的解决方案。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值