backwards/forward-compatibility对应客户端服务端互操作场景命名咨询
首先明确:兼容性命名永远依赖参考主体,不存在两个场景和backwards-compatibility/forward-compatibility的绝对绑定关系,所有兼容属性都要以具体组件为基准判断。
先统一两个术语的标准定义:
- 向后兼容(backwards compatibility):某组件的新版本可以正常和对应组件的旧版本交互,即兼容「历史版本」
- 向前兼容(forward compatibility):某组件的旧版本可以正常和对应组件的新版本交互,即兼容「未来版本」
场景A(clientN+1 可对接 serverN+1 和 serverN)
- 以客户端为参考主体:新版本客户端(N+1)能适配旧版本服务端,因此这个
clientN+1是**向后兼容(backwards-compatible)**的 - 以服务端为参考主体:旧版本服务端(N)能适配新版本客户端,因此这个
serverN是**向前兼容(forward-compatible)**的
场景B(clientN 可对接 serverN 和 serverN+1)
- 以服务端为参考主体:新版本服务端(N+1)能适配旧版本客户端,因此这个
serverN+1是**向后兼容(backwards-compatible)**的 - 以客户端为参考主体:旧版本客户端(N)能适配新版本服务端,因此这个
clientN是**向前兼容(forward-compatible)**的
日常行业交流里如果没有明确指定参考主体,通常默认以新版本服务端为基准:此时场景B对应服务端向后兼容,是行业内最常提到的兼容场景。
内容的提问来源于stack exchange,提问作者Whimusical
相关产品推荐
相关产品推荐

