Video: 167th Knowledge Seekers Workshop April 13, 2017 2024
Rammer for iOS-apper implementerer ofte en teknikk kjent som inversjon av kontroll. Som du allerede vet , , er et programvarekomponent et sett med komponenter som inneholder felles kode som gir generisk funksjonalitet. Denne generiske funksjonaliteten kan selektivt overstyres eller spesialiseres av brukerkode. På denne måten kan rammen tilpasses til å gi spesifikk funksjonalitet og styringsstrøm også omtalt som inversjon av kontroll.
Inversion av kontroll betyr at programmets styringsflyt - hvordan programmet kjører - ikke dikteres av brukeren av rammen, men av rammen selv som standardadferd. Denne standardoppførelsen blir utvidet eller endret med kode som brukeren forsyner i form av klasser som forlenger rammebasertrinnene (som vanligvis er abstrakte klasser).
Disse brukerlevererte klassene overstyrer heller visse metoder eller gir implementeringer av virtuelle metoder. Brukerens klasser kan også implementere bestemte grensesnitt som deretter sendes til og påberopes av rammen. Inversion of Control skiller rammer fra programvarebiblioteker som gir beregningsmessige evner som søknaden din kan påberope, for eksempel strengmanipuleringsrutinene som leveres av java. lang pakke.
iOS er faktisk et rammeverk og det gir et sett av grunnklasser du strekker seg med dine egne klasser og kode og en generell rekkefølge av beregning der du plugger inn disse klassene og koden din. Å skille ut modell, visninger og kontroller resulterer i komponenter med høyere kohesjon, med hver komponent som er ansvarlig for et relatert sett med ansvar.
Også for at inversjon av kontroll skal fungere godt, må mange forskjellige typer gjenbrukbare komponenter være i stand til å plugge inn i den totale beregningssekvensen. Jo mer disse forskjellige komponentene trenger å vite om rammen, og omvendt, jo vanskeligere blir det å plugge inn et variert sett med komponenter. Derfor er løs kobling også viktig i rammebetingelser.