快速失败 -
Fail-fast 是系统或模块在对故障的响应方面的属性。快速故障系统旨在立即在其接口上报告任何可能导致故障的故障或情况。快速故障系统通常旨在停止正常操作,而不是尝试继续可能有缺陷的过程。此类设计通常在操作中的多个点检查系统状态,因此可以及早发现任何故障。故障快速模块将处理错误但不检测错误的责任传递给下一个更高的系统设计级别。
合同设计 -
契约式设计(DbC),也称为契约式编程、契约式编程和按契约式编程,是一种设计软件的方法。它规定软件设计者应该为软件组件定义正式的、精确的和可验证的接口规范,用前置条件、后置条件和不变量扩展抽象数据类型的普通定义。根据商业合同的条件和义务的概念隐喻,这些规范被称为“合同”。
我的问题是这两个术语的相似之处和不同之处。我认为两者都是用于软件设计的。
快速失败更多的是对系统故障的响应,而契约式设计更多的是对系统的保证、最低限度和期望。
但是我如何真正定义它们之间的差异和相似性。
感谢您的帮助。!