Gränssnittskontrakt
Gränssnittskontrakt är överenskommelsen mellan en leverantör av en tjänst eller komponent och dess användare om hur gränssnittet ska användas och vad som garanteras. Det beskriver vilka operationer som finns, vilka indata som accepteras, vilka utdata som returneras, hur fel hanteras och vilka effekter metoderna kan ha. Ett gränssnittskontrakt kan dokumenteras i txt- eller UML-dokument, men även vara helt formellt uttryckt i design by contract, API-specifikationer eller kontraktstestning.
Kärnelement i ett gränssnittskontrakt är preconditions (förhandsvillkor), postconditions (eftervillkor) och invariants (invarianter). Preconditioner anger vad som
I systemdesign främjar tydliga gränssnittskontrakt låg koppling och möjliggör oberoende utveckling, testning och underhåll. Designprinciper som
Exempel på kontrakt kan vara specifikationer för en lagringstjänst: metoden save(entity) har precondition att entity inte