Hvad er inversion af kontrol?

Inversion of Control (IOC) er en programmeringsteknik, hvor en generel kodestruktur bruges til at styre en række unikke og specifikke underprogrammer. Dette drejer traditionelle programmeringsmetoder, hvor specifik kode styrer en række genanvendelige og generelle underprogrammer, på hovedet. Inversion af kontrol bruges typisk i situationer, hvor programmereren ved, at han eller hun ikke behøver at genbruge et specifikt stykke kode mere end én gang, hvilket tillader et fleksibelt design, hvor et programs subroutiner kan skiftes ind og ud uden væsentlige ændringer i det samlede program.

traditionel versus IOC -programmering

I traditionel programmering vil kodens hovedkrop gentagne gange opfordre til generelle subroutiner, der udfører individuelle funktioner. For eksempel, i et program, der beskæftiger sig med regnskab, vil en subroutine designet til at give slutbrugeren mulighed for at søge efter et specifikt ordrenummer sandsynligvis blive indkaldt flere gange i forskellige sektioner i programmet, så brugeren kan udføreDen meget generelle søgealgoritme fra en række forskellige områder af programmet. Genbrug af koden forenkler programmeringsprocessen, men skaber kompleksiteter, hvis programmereren ønsker at finpusse søgealgoritmen for et afsnit af programmet uden at påvirke de andre sektioner, hvor koden bruges.

Ved hjælp af det samme eksempel under en inversion af kontrolscenariet kaldes den enkelte søgningssubroutine ikke flere gange på tværs af et antal områder af programmet. I stedet ville hvert afsnit af programmet indeholde sin egen helt selvstændige søgning på subroutine. Dette øger den tid, der er nødvendig for oprindeligt at kode programmet, men forenkler alle specifikke justeringer, der muligvis skal foretages senere til individuelle underprogrammer i designprocessen. Ændring af en subroutine i et specifikt område vil forlade resten af ​​programmet fuldstændigt upåvirket.

Advantages af IOC

En stor fordel ved denne teknik er, at det gør programdesign langt lettere, når man arbejder i store teams. Da kommunikationen mellem teammedlemmer nødvendigvis vil vise sig mere og mere vanskelig, når antallet af arbejdstagere øges, giver inversion af kontrol hvert team mulighed for at programmere sine egne individuelle rutiner, hvilket giver dem mulighed for at fungere uafhængigt af hinanden. Det forenkler også virkningen af ​​bugs i systemet, da eventuelle dvælende fejl i hvert holds subroutiner kun vil påvirke deres specifikke sektioner af programmet. På grund af dette, når der opdages problemer i en del af systemet, skal resten af ​​programmet forblive fuldt funktionelt.

Ulemper ved IOC

Mens inversion af kontrol kan forenkle programdesign, kræver det forudgående viden om, hvordan man designer objekter. Mens hver rutine kan programmeres individuelt, skal en IOC -skaber vide, hvordan man programmerer hvert emne, hvis der skal foretages ændringerNG -programmør til at ansætte IOC. Fordi hver rutine fungerer uafhængigt, er de alle synlige for omverdenen, som kan blive rynket af nogle virksomheder.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?