什么是向后兼容?

什么是兼容性?

compatible

http://www.webopedia.com/TERM/C/compatible.html

(n) Indicates that a product can work with or is equivalent to another, better-known product. The term is often used as a shorthand for IBM-compatible PC, a computer that is compatible with an IBM PC. Another term for a compatible is clone.

(adj) The ability of one device or program to work with another device or program. The term compatible implies different degrees of partnership. For example, a printer and a computer are said to be compatible if they can be connected to each other. An IBM compatible PC, on the other hand, is a computer that can run the same software as an IBM PC.

Software products are compatible if they use the same data formats. For example, many programs are compatible with dBASE. This means that the files they produce can easily be transformed into a dBASE database or that they can import dBASE files.

软件上的兼容性, 是指如果两个软件, 使用相同的数据格式。

例如 WPS 能打开 office 的文档, 则WPS兼容word。

什么是向后兼容? backward compatible

http://www.webopedia.com/TERM/B/backward_compatible.html

backward compatible == downward compatible (向后、向下)

兼容性,面向两个不同对象(同一时刻), 功能上是平等的, 具有相互兼容相同数据格式的情况。

向后兼容是指,  同一品牌产品,  现在和以前的(时间维度上)两个设备, 使用相同的数据格式, 现在的设备兼容以前设备的数据格式。

Compatible with earlier models or versions of the same product. A new version of a program is said to be backward compatible if it can use files and data created with an older version of the same program. A computer is said to be backward compatible if it can run the same software as the previous model of the computer.

Backward compatibility is important because it eliminates the need to start over when you upgrade to a newer product. A backward-compatible word processor, for instance, allows you to edit documents created with a previous version of the program. In general, manufacturers try to keep all their products backward compatible. Sometimes, however, it is necessary to sacrifice backward compatibility to take advantage of a new technology.

The flip side of backward compatibility is upward compatibility. Upward compatible is the same as backward compatible, except that it is from the point of view of the older model.

Another term for backward compatible is downward compatible.

什么是向前兼容性?

upward compatible == forward compatibility(向上、向前)

http://www.webopedia.com/TERM/U/upward_compatible.html

对于同一品牌的产品, 某个时刻的设备, 跟这个时候之后的设备 是兼容的, 如果 某个时刻的设备, 能够读写之后时刻设备的 数据。

Refers to software that runs not only on the computer for which it was designed, but also on newer and more powerful models. For example, a program designed to run on an Intel 386 microprocessor, which also runs on a Pentium, is upward compatible. Upward compatibility is important because it means you can move to a newer, larger, and more sophisticated computer without converting your data.

In contrast to upward compatibility, downward (backward) compatible means that a program runs not only on the computer for which it was designed, but also on smaller and older models. For example, a program designed to run under MS-DOS 6.0, which also works under MS-DOS 5.0, is downward compatible.

Upward compatibility is sometimes called forward compatibility.

总结

upward compatible == forward compatibility(向上、向前)

backward compatible == downward compatible (向后、向下)

此向性兼容性是指(时间维度), 向前, 就是本设备(或者软件)跟更老的设备比较, 是否可以读取更老设备的数据;

向后, 就是指本设备跟更新设备比较, 是否可以读取更新设备产生的数据。

更多详情参考:

https://en.wikipedia.org/wiki/Backward_compatibility

时间: 2024-10-20 01:29:45

什么是向后兼容?的相关文章

html与JacaScript中的重要思想:预留后路、向后兼容、js分离

以一个简单的web程序为例 详细设计模式请配合代码及凝视食用 <!DOCTYPE html> <!-- 1 预留退路:假设用户禁用了js.链接还能正常显示吗?(href) 2 分离js:行为层与结构层真的分开且互不干扰吗?(onclick) 3 向后兼容:js代码中检測了浏览器的函数支持吗?(if(!xxx)return) --> <html lang="en"> <head> <meta charset="UTF-8&q

一分钟理解向后兼容

什么是兼容 谈到兼容,少不了获得兼容收益的目标对象,以及提供兼容功能的组件这两个相互对应的概念. 如果一个目标对象,能否在同一组件的同个不同版本上协同工作,则移该组件的两个版本是兼容的,如下图所示: 兼容性分类 组件的两个版本是兼容的,那就会有新版本兼容旧版本,或者旧新版本兼容新版本这两个兼容方向 在旧版本上开发的目标,或者旧版本生成的数据,能够在新版本正确运行,或者正确处理,称为向后兼容. 换句话说:向后兼容是指向历史兼容,如下图所示: 向前兼容却相好相反,在新版本上开发的目标,或者新版本上生

链接的平稳退化、渐进增强和向后兼容

1.平稳退化<a href="http://www.baidu.com/" title="A fengxz" onclick="popPup(this.getAttribute("href"));return false;">fengxz</a>//HTML function popPup(winURL){    window.open(winURL);        }//JavaScript 即使J

【荐】说说CSS Hack 和向后兼容

人一旦习惯了某些东西就很难去改,以及各种各样的原因,新的浏览器越来越多,而老的总淘汰不了.增长总是快于消亡导致了浏览器兼容是成了谈不完的话题.说 到浏览器兼容,CSS HACK自然而然地被我们想起.今天,我们通常都有一个团队或者将有一个团队的人在一个公司里面做相同的事,需要我们有统一的规范来进行Coding,以 方便维护.而解决兼容的方法就是(必须是,因为这才最容易有问题的)其中一个最重要的.要解决的规范之一. 在解决兼容方法上,想定出一个统一的规范,个人认为应该以下面3点为基本原则: 权衡成本

《javascript dom编程艺术》笔记(一)——优雅降级、向后兼容、多个函数绑定onload函数

刚刚开始自学前端,如果不对请指正:欢迎各位技术大牛指点. 开始学习<javascript dom编程艺术>,整理一下学习到的知识.今天刚刚看到第六章,记下get到的几个知识点. 优雅降级 看到版本翻译为预留退路,刚刚看到个名词,我觉得很奇怪,以前没有听说过啊.不过看到英文注释就知道了Graceful degradation不就是优雅降级么,听说过! 书中举了个例子,点击一个链接,弹出一个窗口的方法. function popUp(WinURL){ window.open(WinURL,&quo

一种向后兼容的C++结构体设计

问题产生的背景:有时候,我们需要维护老旧代码.这些代码经常因为需求变更而变化.最常见的升级就是接口的升级,诸如增加新的函数接口.扩展函数的参数.扩展协议等等.在此我们讨论一种较为少见的情形,即存储于设备中的一段二进制结构的升级.这种情况类似于网络通讯中的序列化,但又有所不同.关于如何设计序列化结构的文章有许多,我们在此不做讨论.设计目标: 1. 为了兼容老版本的结构体 2. 为了支持内存拷贝初始化3. 版本号的支持4. 尽量少的代码修改 假设我们第一次(旧)的数据结构如下: struct Old

向后兼容

1 package com.cn; 2 3 class A{ 4 public void fun1(){ 5 System.out.println("A fun1"); 6 } 7 public void fun2(){ 8 fun1(); 9 } 10 } 11 class B extends A{ 12 public void fun1(){ 13 System.out.println("B fun1"); 14 } 15 public void fun3(){

关于矢量图片资源向后兼容:CompatVectorFromResourcesEnabled标志的使用

StackOverflow上摘抄的: some things have changed since I asked this question so I will answer it myself.With Support Library 23.4.0 the support for VectorDrawables from Ressources was reenabled: Android Support Library 23.4.0 available nowYou can find mor

9、?创建向后兼容的用

? 抽象UI接口 对于很多UI接口,不同版本的Android会提供不同的接口.例如, Tab,在Level = 11(Android3.0 Honeycomb)中使用ActionBar,而 在更低版本的Android中没有ActionBar,但可以用Tab控件代替. 对于这些情况,如果要开发适应于所有版本的Android应用,就需 要对这些UI接口进行抽象.通常使用接口或抽象类.并利用多态满足不 同Android版本的需求. ? 创建一个Tag抽象类 ? 抽象ActionBar.Tab 1 pu