向前兼容和向后兼容

在理解向前兼容和向后兼容,先要知道这是用在什么架构中的。

能用到向后兼容和向前兼容, 那么肯定是存在接口概念的。
也就是说存在一个系统提供接口供外部使用, 外部应用使用这个接口。
然后就存在系统迭代周期和应用迭代周期不一致的问题,这时候就出现了向前兼容和向后兼容的说法。

  • 向后兼容就是 , 使用旧接口的应用,能够运行在新的系统上。 就比如其他回答者说的:

     (1)“Windows 10要能运行为Windows 3.1开发的程序”  
        (在这里,Window是系统,开发的程序就是使用系统接口的应用。应用使用了旧的接口,系统是新的系统)
    
     (2)“RFC2018的设备能够兼容RFC793协议”
        (在这里,使用TCP协议的设备都是系统,但是存在一些设备使用了 RFC2018协议, 一些设备使用了 RFC93协议 。使用了RFC93协议的设备就是使用了旧的接口,使用了 RFC2018协议的设备就是新系统)
    
     (3)“2007 Microsoft Office 系统能够打开 Office 2000和Office 2003的文件”  
         (在这里,Office是系统,文件就是使用接口的应用。Office 2000和Office 2003的文件就是使用了旧的接口 , Office 2007 就是新的系统)
    
     (4)“CD盘可以放在CD光驱播放,也可以放在DVD光驱播放。”
         (光驱是系统,CD盘是使用接口的应用。CD是旧接口, DVD光驱是新系统)
    
  • 向前兼容就是 , 使用了新接口的应用,运行在旧的系统上。系统对于未定义的接口,他不认为是错误的,而是不处理,也就是 “忽略掉早期版本中未实现的功能”

    (1)“Windows 3.1要能运行为Windows 10开发的程序” 
        (应用使用了一些新的接口,但是系统却是旧的系统)
    
    (2)“Word 2003 能够打开用Word 2007创建的文件。”
        (Office是系统,文件就是使用接口的应用。Office 2007的文件就是使用了新的接口 , Office 2003 就是旧的系统)
    
    (3)“USB3.0的U盘,插在USB1.0的接口上”
    

兼容性是形容系统的。
系统向后兼容 , 也就是兼容以前的 , 就说明系统是相对新的。
系统向前兼容 , 也就是兼容未来的 , 就说明系统是相对旧的。

猜你喜欢

转载自blog.csdn.net/liu2614332/article/details/79973268