Он предполагает, что проектировщик должен определить формальные, точные и верифицируемые спецификации интерфейсов для компонентов системы. High Quality Content by WIKIPEDIA articles! Контрактное программирование (design by contract (DbC), programming by contract, contract-based programming) — это метод проектирования программного обеспечения. Данные спецификации называются "контрактами" в соответствии с концептуальной метафорой условий и ответственности в гражданско-правовых договорах. При этом, кроме обычного определения абстрактных типов данных, также используются предусловия, постусловия и инварианты. 2013