软件如何优雅地向前兼容?( 二 )


针对你可以承受的多版本情况 , 可以给予提示性的更新提醒 , 由用户自行选择是否更新 。 如果针对少数隔了多个版本还未升级的用户 , 可以给出强制性的更新 , 让其无法继续在旧版本上操作 。
强制更新也分局部更新和全量更新 。 现在针对局部更新的「热更新」受到了一些应用市场的限制 , 所以在用「热更新」之前谨慎了解对应平台的规则 。
另外 , 向前兼容不可能是无止境 , 不丢掉一些包袱 , 不断的新增包袱只会让后续的维护成本不堪重负 。
所以需要做好对各个版本使用情况的监控 , 一旦某个版本的使用量低于某个值 , 就应该给予强制更新的提醒 。
其实类似的向前兼容问题 , 除了api之外 , 在对外提供的三方库SDK、公司内给其他项目调用的二方库SDK中 , 也有一样的情况 。
他们的解决思路也是类似的 。
最后我建议你多看一些知名的开源项目 , 从中你可以学到很多优雅的编程技巧和代码设计理念 。
好了 , 总结一下 。
这篇呢Z哥和你分享了软件向前兼容的一些方法 。 除了粗暴的if else之外 , 你可以尝试一下以下两种方法:

  1. 通过接口上增加版本号
  2. 一个前端版本对应一个后端版本
除此之外 , 以下这两件事也对做好向前兼容有很大帮助 。
  1. 数据库设计预留扩展字段
  2. APP提供强制更新功能
希望对你有所帮助 。
不要光顾收藏 , 记得用起来哦 。
推荐阅读:
  • 为什么我们总是「习惯性辩解」?
  • 致后浪:6句肺腑之言 , 望你少走弯路
也可以「关注」我 , 带你以技术思维看世界~想更进一步和我一起玩耍 , 欢迎「搜索微信公号:跨界架构师」 。 内容包括:架构设计丨分布式系统丨产品丨运营丨个人深度思考 。
更多原创精品 , 欢迎加入小圈子 , 请戳【了解更多】