Design by Contract (DbC) nggawé hubungan antara sawijining metode lan panggilan-e minangka perjanjian formal, sing ditetapke kanthi telu bab: prekondisi (apa sing kudu dijamin panggilan), potkondisi (apa sing dijamin metode buké), lan invariant (apa sing tetep bener kanggo obyek ing kabeh wektu).
Telu obligasi
PRECONDITION → caller's duty: inputs/state the method requires to run correctly
POSTCONDITION → method's duty: what it promises on return (if precondition held)
INVARIANT → always-true property of the object, before and after every method
