契約式設計

契約式設計 ( 縮寫爲 DbC ） ， 一種設計計算機軟件的方法 。 這種方法要求軟件設計者爲軟件組件定義正式的 ， 精確的並且可驗證的接口 ， 這樣 ， 爲傳統的抽象數據類型又增加了先驗條件 、 後驗條件和不變式 。 這種方法的名字裏用到的 “ 契約 ” 或者說 “ 契約 ” 是一種比喻 ， 因爲它和商業契約的情況有點類似 。 因爲 “ Design by Contract ” 是屬於Eiffel Software的註冊商標 ， 很多開發人員用契約式編程 （ Programming by Contract ） ， 契約編程 （ Contract Programming ） ， 或者契約優先式開發 （ Contract - First development ） 來指代這種方法 。 微軟也採用這種設計方法 ， 稱爲程式碼合約 （ Code Contracts ） 。