工作时偶有所思,留下点感悟。
契约的重要性
软件部件之间的交互方式就是契约。契约包括传递给软件部件的参数,以及软件部件何时何种情况抛出错误。契约和现实生活中零件的规格极其类似,软件契约的无法达成,就和零件规格不一致一样,无法正常协同工作。因此,在契约的情况下,只需要考虑软件部件和其他部件之间的契约(接口),软件部件的内部实现变得不太重要。每个软件部件都有其自身严格定义的自责,系统应当能够定位这些功能和职责,从而当部件发生错误时,只需要修复该部件的错误,即可使得整个系统的错误得到修复。
 [……]