java 向后兼容性_java – 什么会导致向后兼容不可能?

Is there a possibility, that implementing a new feature or fixing a bug must require an interface change in the platform?

是的,如果此错误是向后兼容性的意外中断,并且如果您在检测到此中断之前已经发布了产品的多个版本(X 1 … X N).因此,您的一部分客户端依赖于旧版本X,但另一部分客户端依赖于X 1 … X N损坏版本.如果你要修复这个bug,那么新的客户端(X 1 … X N)将被破坏.

Is it a good idea to create a new interface that extends the original one with the new method?

可能,但你可能会遇到这些接口命名和文档编译的问题.我建议您延迟这些功能并每隔3年打破一次API,并提供有关如何更改旧客户端的详细说明.

Of course the invocations in the platform shall now check the type of the listener, if it is the new interface with the new method, then the new method will be invoked, or nothing will be done.

有三种向后兼容性:二进制(运行旧客户端),源(重新编译旧客户端)和行为.如果需要向接口添加新方法,则只能通过检查已使用的接口版本(final String VERSION =“N”)并仅为兼容版本调用new方法来中断源兼容性,但保持二进制兼容性.因此,如果某个旧客户端需要新功能,则应更改并重新编译.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值