【Android Meditation】从客户端和服务端看APP版本兼容问题
来源:互联网 发布:自学英语教材 知乎 编辑:程序博客网 时间:2024/05/17 09:15
- 前言
- 思考
- 做好兼容和容错
前言
业务调整,需求变动,客户端和服务端代码的改动如何最大限度地照顾到老版本的兼容性
思考
- 面向对象的六大原则中,一个很重要的原则叫做开闭原则,具体说来就是,软件应向扩展开放,对修改封闭。也就是说,你可以添加功能,但是不要随意修改已有的功能
- 接口设计的核心在于抽象,底层逻辑 一定要足够抽象,需要与实现的业务逻辑适当分离, 能够应付长期的、可变的应用场景
- 接口要有版本区分,如/api/v1/android,/api/v1/ios ,/api/v2/android,/api/v2/ios
- 从早期就有一个稳定的错误代码系统及处理规范。我想大多数的服务器请求都会返回status\errorMsg\code之类的信息,我们可以在一开始就定义各种错误码(接口过期、用户信息过期、服务器异常、服务器升级中),这样子可以避免后期维护太多的API版本,也能引导用户升级
- 根据APP的更新频率,只允许同时两到三个版本存活,然后提醒客户端更新,不更新的话等到协议的版本过期了,就无法使用
做好兼容和容错
- 对于服务端返回的数据,尤其涉及类型判断的一定要做好容错,只处理当前版本支持类型,丢弃其它异常类型,避免接口更新(如添加新的支持类型)导致客户端无法处理导致的崩溃,当然异常数据的处理需要根据实际操作,在解析时处理,或者在逻辑判断时处理。
- 如果旧版本没处理好,那么接口就需要进行升级了,所以这个兼容和容错需要两方互相协作
0 0
- 【Android Meditation】从客户端和服务端看APP版本兼容问题
- app客户端、服务端通信
- 【Android Meditation】二次封装
- Android中版本兼容问题
- Android中版本兼容问题
- android版本兼容问题
- Android中版本兼容问题
- Android版本兼容问题
- Android 版本兼容问题集锦
- android客户端和服务端js交互
- Android Socket 使用(客户端和服务端)
- Android版 Sokect服务端和客户端
- 简单的Android服务端和客户端登录交互(服务端)
- 版本控制(1)------subversion服务端和客户端安装
- Meditation
- Android从服务端获取json解析显示在客户端上面
- Android客户端之“微服私访”App的系统学习(一) 本地服务端环境的搭建和部署
- 简单的Android服务端和客户端登录交互(客户端)
- C++中基本的数据类型和所占的内存大小
- Ubuntu16.04下安装jdk和Android Studio
- 深入理解指针函数
- js设置html节点属性
- 转载自一米阳光jjfdfd
- 【Android Meditation】从客户端和服务端看APP版本兼容问题
- PHP跳转的三种方法
- java 不定参数
- jquery事件
- 测试设计中需要考虑的22种测试类型
- 对 set 的遍历
- Spring常见面试题二
- 新兴市场:墨西哥股票逆势的观点
- 《TCP/IP详解卷2:实现》笔记--协议控制块