Skip to main content

Hva er et design av kontrakt og reg;?

Design av kontrakt og reg;er en metode som brukes til å utvikle programvare som er avhengig av etablering av veldefinerte grensesnittparametere, eller kontrakter, for alle deler av et program.Selv om design etter kontrakt og reg;Kan sees på som en konseptuell utviklingsstil som implementeres gjennom dokumentasjon eller modellering, den brukes mer ut for å referere til en innfødt eller tredjepartsmekanisme innenfor noen programmeringsspråk som faktisk krever implisitt koding av kontraktene i et program.Målet med å bruke design av kontrakt og reg;er at et program vil bli utviklet og til slutt kodet på en mye mer komplett måte som fjerner mer trivielle feil, mens håndhevelse av kontraktene fra støttespråket gjør eventuelle restfeil enkelt funnet og fanget.Et program som bruker kontrakter for funksjoner og klasser kan ha en mer modulær design der individuelle klasser enkelt kan brukes på nytt i andre programmer på grunn av den klare definisjonen av kontraktene sine.

Grunnlaget for utformingen av Contract Programmeringsfilosofi er ideen om forretningskontrakter i den virkelige verden.I denne modellen definerer hver metode og klasse i et objektorientert program en kontrakt som en hvilken som helst annen metode eller objekt som samhandler med den, må overholde.Hver klasse kan også ha en kontrakt, kalt en klasse invariant, at den må følge internt for å sikre at utvendige kontrakter ikke går ut over denog post-betingelsene.Disse to delene av designet etter kontrakt og reg;Modell Definer tilstanden til programmet før en metode kalles og programmets tilstand etter at metoden er fullført.Andre deler av en kontrakt kan variere ved implementering, men kan omfatte kryssreferanser til andre moduler, synkroniseringsbetingelser og krav til utførelseenkelt bli kartlagt og forutsagt.Håndhevelse av kontraktene, enten ved bruk av påstander eller andre mekanismer, sikrer også at programmet ikke vil forsøke å utføre hvis det er brudd på kontrakter, fordi en hvilken som helst produksjon produsert i den staten teknisk sett vil være ugyldig uansett.Når den er implementert som morsmål, design av kontrakt og reg;kan bidra til å sikre at et sluttprodukt vil fungere som forventet med liten sjanse for uforutsette feil.

Noen av komplikasjonene som følger med bruk av designen av kontrakt og reg;Filosofi inkluderer lengre designtider og mer granulær utvikling av et system før koding begynner, noe som noen ganger kan være vanskelig med et stort prosjekt.Mer praktisk kan kontraktsvalideringsmekanismen som brukes på et programmeringsspråk som ikke støtter kontrakter, redusere utførelsen av programmet.En dårlig forståelse av utformingen av kontrakt og reg;Metodikk kan føre til et program som bruker kontrakter for å utføre grunnleggende feilsjekking, noe som potensielt kan føre til en applikasjon som er utsatt for plutselige krasj etter løslatelse.