Hjem Sosiale medier Hvordan man bruker modellvisningsregulatoren (MVC) Designmønster for å utvikle en iOS-app - dummies

Hvordan man bruker modellvisningsregulatoren (MVC) Designmønster for å utvikle en iOS-app - dummies

Video: How to link one JFrame to another JFrame in Java Swing 2025

Video: How to link one JFrame to another JFrame in Java Swing 2025
Anonim

IOS-rammene er objektorientert. En enkel måte å forstå hva det egentlig betyr er å tenke på et lag som jobber på et kontor. Arbeidet som må gjøres er delt opp og tildelt enkelte gruppemedlemmer (i dette tilfellet objekter). Hvert lagmedlem har en jobb og jobber med andre lagmedlemmer for å få ting gjort.

I tillegg bryr seg et godt teammedlem ikke om hvordan andre medlemmer gjør sitt arbeid, bare at de gjør det i henhold til avtalt arbeidsdeling. På samme måte tar en gjenstand i objektorientert programmering seg av sin egen virksomhet og bryr seg ikke hva objektet i den virtuelle kabinen naboen gjør, så lenge det vil gjøre hva det skal gjøre når det blir bedt om å gjøre det.

Objektorientert programmering ble opprinnelig utviklet for å gjøre koden mer vedlikeholdbar, gjenbrukbar, utvidbar og forståelig ved å inkapslere all funksjonalitet bak veldefinerte grensesnitt. De faktiske detaljer om hvordan noe fungerer (samt dataene som brukes til å gjøre det arbeidet) er skjult, noe som gjør det enklere å endre og utvide en app.

Flott - så langt - men et plagsomt spørsmål plager fortsatt programmerere:

Nøyaktig hvordan bestemmer du objektene og hva de gjør?

Noen ganger er svaret på det spørsmålet ganske enkelt - bare bruk den virkelige verden som en modell. (Eureka!) Men når det gjelder en generisk programstruktur, hvordan gjør du bestemmer hva objektene skal være? Det kan ikke være så åpenbart.

MVC-mønsteret er en veletablert måte å gruppere appfunksjoner på i objekter. Variasjoner av det har eksistert i hvert fall siden de små dager av Smalltalk, et av de aller første objektorienterte språkene. MVC er et mønster på høyt nivå - det adresserer arkitekturen til en app og klassifiserer objekter i henhold til de generelle rollene de spiller i en app, i stedet for å bore ned i detaljer.

MVC-mønsteret skaper i virkeligheten et miniatyrunivers for appen, befolket med tre forskjellige typer objekter. Det spesifiserer også roller og ansvar for alle tre typer objekter og spesifiserer måten de skal samhandle med hverandre. For å gjøre ting mer konkret (det vil si å holde hodet eksploderende), tenk på en stor, vakker, 60-tommers flatskjerm-TV. Her er kjernen:

  • Modellobjekter: Disse objektene sammen består av innholdet "motor" av appen din. De inneholder appens data og logikk - noe som gjør appen din mer enn bare et pent ansikt.I RoadTrip-appen holder modellen for eksempel en liste over hendelser og severdigheter, samt navnet og plasseringen til destinasjonen og et bakgrunnsbilde som skal brukes.

    Du kan tenke på modellen (som kan være ett objekt eller flere som samhandler) som et bestemt fjernsynsprogram, en som ganske ærlig talt ikke gir en oversikt over hvilket TV-sett det vises på.

    Faktisk bør modellen ikke gi et hoot. Selv om den eier dataene, burde den ikke ha noen forbindelse til brukergrensesnittet og burde være salig uvitende om hva som er gjort med dataene sine.

  • Se objekter: Disse objektene viser ting på skjermen og svarer på brukerhandlinger. Nesten alt du kan se er en slags visningsobjekt - vinduet og alle kontrollene, for eksempel.

    Dine synspunkter vet hvordan du viser informasjon de mottar fra modellobjektet og hvordan du får innspill fra brukeren modellen kan trenge. Men utsikten i seg selv burde ikke vite noe om modellen. Det kan håndtere en forespørsel om å vise noen hendelser, men det bryr seg ikke med hva den forespørselen betyr.

    Du kan tenke på visningen som en TV-skjerm som ikke bryr seg om hvilket program det viser eller hvilken kanal du nettopp har valgt.

    UIKit-rammen gir mange forskjellige typer synspunkter.

    Hvis visningen ikke vet noe om modellen, og modellen ikke vet noe om visningen, hvordan får du data og andre meldinger til å passere fra den ene til den andre? For å få den samtalen påbegynt (Modell: "Jeg har nettopp oppdatert dataene mine." Vis: "Hei, gi meg noe å vise", for eksempel), du trenger det tredje elementet i MVC triumvirat, kontrolleren.

  • Kontrollørobjekter: Disse objektene kobler appens visningsobjekter til modellobjektene. De leverer visningsobjektene med det de trenger å vise (hentes fra modellen) og gir også modellen med brukerinngang fra visningen.

    Du kan tenke på kontrolleren som kretskortet som trekker ut visningen av kabelen, og sender den deretter til skjermen eller ber om et bestemt betal-for-visning-program.

Med Xcode, er både modell- og visningsobjekter ofte bygget med grafiske brukergrensesnitt som Interface Builder for visninger og visningskontrollere og Data Model Editor for Core Data-objekter. Kontrollører er nesten alltid bygget med kode. Å bygge et kontrollerobjekt er den delen av MVC som, for mange utviklere, "føles" som tradisjonell koding.

Den grunnleggende applikasjonsarkitekturen ser slik ut.

Når du tenker på appen din når det gjelder modell, visning og kontrollobjekt, begynner UIKit-rammen å gi mening. Å forstå rammen på denne måten, begynner også å løfte tåken som henger over hvor du skal gjøre minst en del av din appspesifikke oppførsel, gå.

I Objektiv-C inneholder klasser instansvariabler, egenskaper og metoder (som kan få tilgang til instansvariablene i en klasse). Klasser handler om filer i prosjektet ditt som inneholder kode. Klasser er typer i programmet.

Objekter finnes derimot ved kjøretid og er forekomster av en klasse.Du kan tenke på en klasse som en tegning for å bygge et objekt av den typen.

Hvordan man bruker modellvisningsregulatoren (MVC) Designmønster for å utvikle en iOS-app - dummies

Redaktørens valg

En samling av bilder fra fotballregler og posisjoner på en dag for dummies - Dummies

En samling av bilder fra fotballregler og posisjoner på en dag for dummies - Dummies

Bilder og figurer i dette galleriet er fra Soccer Rules & Positions In A Day For Dummies og illustrerer forskjellige aspekter av spillet. Bildene vises i den rekkefølgen de vises i boken.

Følger en Pregame-rutine med Junior Football Team - dummies

Følger en Pregame-rutine med Junior Football Team - dummies

En god pregame-rutin bidrar til å stille tonen for en trygg og morsom dag med fotball. Vær oppmerksom på disse tipsene før spillet starter. Kontroller banen for løse bergarter, knust glass, hevet sprinklerhoder, eller noe annet som kan skade et barn. Bekreft at alle barna tok med riktig utstyr. Har ...

Coaching fotball for dummier Cheat Sheet - dummies

Coaching fotball for dummier Cheat Sheet - dummies

Coaching fotball bør være trygg og morsom for deg og dine spillere, så begynn med å bli kjent med utformingen av fotballbanen. Som fotball coach vil spillerne se deg til veiledning, så bruk noen nyttige tips for å undervise og motivere dem. Lag en pregame-rutine for å sjekke feltet og ...

Redaktørens valg

Juster nivåer og lyshet i HDR-bilder - dummies

Juster nivåer og lyshet i HDR-bilder - dummies

Tonekartede HDR-bilder alltid komme ut av ditt favoritt HDR-program, ser perfekt ut. Faktisk mesteparten av tiden trenger de ytterligere redigering før de er "perfekte". "Hvis du har lysstyrkeproblemer, bruk nivåer som en god måte å lyse eller mørke et bilde på. Denne figuren viser en scene som kom ...

Juster Kontrast i Postproduksjon - Dummies

Juster Kontrast i Postproduksjon - Dummies

Å Få riktig eksponering er et av de første trinnene for å skape en vakker nærbilde opp fotografi, da det sikrer at du har detaljer i skyggene dine og høydepunktene. Det neste trinnet er å forbedre dine eksponeringer i etterproduksjon, og skape den perfekte balansen mellom kontrast og toneavstand mellom skyggene og høydepunktene. Tonal kontrast er ...

Kunstig belysning i matfotografi - dummies

Kunstig belysning i matfotografi - dummies

Kunstig belysning brukt i matfotografering inkluderer kontinuerlig belysning som forblir på mens du skyter, og strobebelysning (i hovedsak en off-flash-kamera). Faktorer du bør vurdere når du velger kunstige lys, inkluderer bærbarhet, kostnad og kvalitet.

Redaktørens valg

Slik bruker du Xcode til å utvikle en iOS App - dummies

Slik bruker du Xcode til å utvikle en iOS App - dummies

For å utvikle en iPhone, iPod touch eller iPad app, må du jobbe i sammenheng med et Xcode-prosjekt. Xcode støtter følgende aktiviteter som er deler av utviklingen av appen din: Opprette et Xcode-prosjekt Utvikling av appen (utforming av brukergrensesnittet ved hjelp av et storyboard, koding og kjøring og feilsøking av koden) Tuning app ...

Hvordan du bruker Xcode Source Editor for iOS App Development - dummies

Hvordan du bruker Xcode Source Editor for iOS App Development - dummies

Hovedverktøyet du bruker til å skrive kode for en iOS-app, er Xcode Source Editor, som vises som Standard editor-panelet i redigeringsområdet på høyre side av Xcode Workspace-vinduet etter at du har valgt en kildekodefil i Project navigator. Det vises også som assistentredaktør ...

Hvordan man bruker modellvisningsregulatoren (MVC) Designmønster for å utvikle en iOS-app - dummies

Hvordan man bruker modellvisningsregulatoren (MVC) Designmønster for å utvikle en iOS-app - dummies

IOS-rammene er objektorientert. En enkel måte å forstå hva det egentlig betyr er å tenke på et lag som jobber på et kontor. Arbeidet som må gjøres er delt opp og tildelt enkelte gruppemedlemmer (i dette tilfellet objekter). Hvert lagmedlem har en jobb og jobber med andre ...