快速失败 -
快速失败是系统或模块相对于其的属性 对失败的反应。快速失效系统可立即设计 在其界面报告可能发生的任何故障或情况 导致失败。快速失效系统通常设计为停止正常 操作而不是试图继续可能有缺陷的过程。 这样的设计经常在一个点的几个点检查系统的状态 操作,所以可以及早发现任何故障。一个故障快速模块 传递处理错误的责任,但没有检测到它们, 到更高的系统设计水平。
按合同设计 -
按合同设计(DbC),也称合同编程, 按合同编制和按合同设计编程是一种方法 设计软件的方法。它规定了软件设计者 应定义正式,精确和可验证的接口规范 对于软件组件,它扩展了普通的定义 具有前置条件,后置条件和不变量的抽象数据类型。 根据这些规范称为“合同” 用一个概念性的比喻来说明条件和义务 商业合同。
我的问题是两个术语中的相似和差异是什么。 我认为两者都是用于软件设计。
快速失败更多是对系统故障的响应,而设计合同更多是系统的保证,最低和期望。
但我如何实际定义它们之间的差异和相似性。
感谢您的帮助。!
答案 0 :(得分:0)
相似点:
的差异:
<强>参考强>
答案 1 :(得分:0)
它们是互斥的。 Java迭代器快速失败,但也按合同设计。快速失败只是意味着,炸弹,希望不会发生更糟糕的事情(例如抛出异常)。虽然失败安全之类的东西通常意味着当失败发生时,确保没有更糟糕的事情发生。您可以通过隔离系统组件或通过处理故障情况来执行此操作,以便不会发生任何错误(例如,会话复制/故障转移)