【Android Meditation】从客户端和服务端看APP版本兼容问题

前言

业务调整,需求变动,客户端和服务端代码的改动如何最大限度地照顾到老版本的兼容性

思考

  • 面向对象的六大原则中,一个很重要的原则叫做开闭原则,具体说来就是,软件应向扩展开放,对修改封闭。也就是说,你可以添加功能,但是不要随意修改已有的功能
  • 接口设计的核心在于抽象,底层逻辑 一定要足够抽象,需要与实现的业务逻辑适当分离, 能够应付长期的、可变的应用场景
  • 接口要有版本区分,如/api/v1/android,/api/v1/ios ,/api/v2/android,/api/v2/ios
  • 从早期就有一个稳定的错误代码系统及处理规范。我想大多数的服务器请求都会返回status\errorMsg\code之类的信息,我们可以在一开始就定义各种错误码(接口过期、用户信息过期、服务器异常、服务器升级中),这样子可以避免后期维护太多的API版本,也能引导用户升级
  • 根据APP的更新频率,只允许同时两到三个版本存活,然后提醒客户端更新,不更新的话等到协议的版本过期了,就无法使用

做好兼容和容错

  • 对于服务端返回的数据,尤其涉及类型判断的一定要做好容错,只处理当前版本支持类型,丢弃其它异常类型,避免接口更新(如添加新的支持类型)导致客户端无法处理导致的崩溃,当然异常数据的处理需要根据实际操作,在解析时处理,或者在逻辑判断时处理。
  • 如果旧版本没处理好,那么接口就需要进行升级了,所以这个兼容和容错需要两方互相协作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值