Grensesnitt (computing)

Se også: Binært grensesnitt for applikasjon og Programmeringsgrensesnitt

et programvaregrensesnitt kan referere til et bredt spekter av forskjellige typer grensesnitt på forskjellige «nivåer»: et operativsystem kan samhandle med deler av maskinvaren. Programmer eller programmer som kjører på operativsystemet, må kanskje samhandle via datastrømmer, filtre og rørledninger; og i objektorienterte programmer må objekter i et program kanskje samhandle via metoder.

I praksisrediger

et sentralt prinsipp for design er å forby tilgang til alle ressurser som standard, slik at tilgang bare gjennom veldefinerte inngangspunkter, dvs. grensesnitt. Programvaregrensesnitt gir tilgang til dataressurser(for eksempel minne, CPU, lagring, etc. direkte tilgang (dvs. ikke gjennom godt utformede grensesnitt) til slike ressurser av programvare kan ha store konsekvenser-noen ganger katastrofale seg-for funksjonalitet og stabilitet.Grensesnitt mellom programvarekomponenter kan gi konstanter, datatyper, typer prosedyrer, unntaksspesifikasjoner og metodesignaturer. Noen ganger er offentlige variabler også definert som en del av et grensesnitt.grensesnittet Til en programvaremodul A er bevisst definert separat fra implementeringen av den modulen. Sistnevnte inneholder den faktiske koden for prosedyrene og metodene beskrevet i grensesnittet, samt andre «private» variabler, prosedyrer, etc. En annen programvaremodul B, for eksempel klienten Til A, som samhandler Med A, er tvunget til å gjøre det bare gjennom det publiserte grensesnittet. En praktisk fordel med denne ordningen er at erstatning av implementeringen Av a med en annen implementering av det samme grensesnittet ikke skal føre Til at B mislykkes-hvordan a internt oppfyller kravene til grensesnittet er ikke relevant For B, som bare er opptatt av grensesnittets spesifikasjoner. (Se Også Liskov substitusjonsprinsipp.)

på objektorienterte språkrediger

Hovedartikler: I noen objektorienterte språk, spesielt de uten full multiple arv, brukes begrepet grensesnitt til å definere en abstrakt type som ikke inneholder data, men definerer atferd som metodesignaturer. En klasse som har kode og data for alle metodene som svarer til det grensesnittet og erklærer det, sies å implementere det grensesnittet. Videre, selv i single-arv-språk, kan man implementere flere grensesnitt, og dermed kan være av forskjellige typer samtidig.et grensesnitt er således en typedefinisjon; hvor som helst et objekt kan utveksles (for eksempel i en funksjon eller metodekall), kan typen av objektet som skal utveksles defineres i form av en av dets implementerte grensesnitt eller grunnklasser i stedet for å spesifisere den spesifikke klassen. Denne tilnærmingen betyr at enhver klasse som implementerer dette grensesnittet kan brukes. For eksempel kan en dummy implementering brukes til å tillate utvikling å utvikle seg før den endelige implementeringen er tilgjengelig. I et annet tilfelle kan en falsk eller mock implementering erstattes under testing. Slike stub implementeringer erstattes av ekte kode senere i utviklingsprosessen.vanligvis inneholder en metode definert i et grensesnitt ingen kode og kan derfor ikke kalles; den må implementeres av ikke-abstrakt kode for å kunne kjøres når den påberopes. Et grensesnitt kalt » Stack » kan definere to metoder: push()og pop(). Den kan implementeres på forskjellige måter, for eksempel FastStack og GenericStack—den første er rask, arbeider med en datastruktur av fast størrelse, og den andre bruker en datastruktur som kan endres, men på bekostning av noe lavere hastighet.selv om grensesnitt kan inneholde mange metoder, kan de bare inneholde en eller ingen i det hele tatt. For Eksempel Definerer Java-språket grensesnittet Readable som har singelen read() – metoden; ulike implementeringer brukes til forskjellige formål, inkludert BufferedReaderFileReaderInputStreamReaderPipedReader og StringReader. Markørgrensesnitt somSerializable inneholder ingen metoder i det hele tatt og tjener til å gi kjøretidsinformasjon til generisk behandling ved Hjelp Av Refleksjon.

Programmering til grensesnittetrediger

bruken av grensesnitt tillater en programmeringsstil kalt programmering til grensesnittet. Ideen bak denne tilnærmingen er å basere programmeringslogikken på grensesnittene til objektene som brukes, i stedet for på interne implementeringsdetaljer. Programmering til grensesnittet reduserer avhengigheten av implementeringsspesifikasjoner og gjør koden mer gjenbrukbar.

Å Skyve denne ideen til det ekstreme, inversjon av kontroll forlater konteksten for å injisere koden med de spesifikke implementeringene av grensesnittet som skal brukes til å utføre arbeidet.

Related Posts

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *