首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

软件开发中关于向后兼容的懂得

2013-09-24 
软件开发中关于向后兼容的理解假设有A、B两个程序,这两个程序可能是同一小组的两个人来维护的,也可能是两个

软件开发中关于向后兼容的理解

假设有A、B两个程序,
这两个程序可能是同一小组的两个人来维护的,也可能是两个不同小组来维护的,
也可能是两个不同部门来维护的,甚至有可能是两个不同的公司来负责维护的。

现在假设A程序对某函数进行了修改,比如原先通过
kill(pid, SIGSTOP)向B程序发送SIGSTOP信号,而现在却通过
kill(pid, SIGUSR1)向B程序发送SIGUSR1信号。
原先B程序是在收到SIGSTOP这个信号之后才去做相应的处理,
而A程序改成了发送SIGUSR1,从而导致问题的出现。

通常这种不向后兼容的情况有:
1. A程序接口参数变化,这会导致B程序出现编译时或运行时错误;
2. A程序接口功能减少,这会导致B程序功能的减少;
3. A程序接口移除,这会导致B程序运行时错误。

实例演示:
1. A + B OK;
2. A + C OK,但是A + B NG;
这里A类似于库函数,而B和C类似于基于库函数的应用程序。
向后兼容是对函数或功能提供方提出的要求。

问题:
A1 + B OK;
A2 + C OK;
那A1 + C呢?
这里是对应用程序的要求(有难度)。

1楼boyxulin1986前天 15:36
自己必须顶自己

热点排行