zoukankan      html  css  js  c++  java
  • 软件开发中关于向后兼容的理解

    假设有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呢?
    这里是对应用程序的要求(有难度)。

  • 相关阅读:
    文件操作
    xadmin的使用
    Vue
    Redis
    Django
    python小结
    利用线程池和回调函数爬虫
    drf-基表、断关联表关系、级联删除、正方向查询、子序列化
    drf序列化
    drf初识
  • 原文地址:https://www.cnblogs.com/james1207/p/3329057.html
Copyright © 2011-2022 走看看