Skip to main content

Hva er modell-visningskontroller?

Model-View-Controller (MVC) er en type programvarearkitektur og designmønster som segmenterer hvert element i et program til veldefinerte funksjonalitetsområder.I modell-visningskontrollerarkitektur omhandler modellen all den interne programlogikken som manipulerer, sparer, henter og ellers håndterer og beregner data.Visningsaspektet er ansvarlig for å vise informasjon fra modellen for brukeren, og det gir også en måte for brukeren å gi innspill til programmet.Kontrolleren tar innspill fra visningen, vurderer eller på annen måte behandler den og samhandler med modellen for å endre data eller programtilstanden, som til slutt vises for brukeren gjennom visningen.Selv om modell-visningskontrollerdesign krever et program for å innkapsler funksjonalitet, trenger de tre seksjonene fortsatt å samhandle med hverandre på noen måte og generelt er avhengige av hverandre i noen forstand, i motsetning til andre mer aggressive designmønstre.

Ofte sees Model-View-Controller-mønsteret i applikasjoner som administrerer et grafisk brukergrensesnitt (GUI).Ved hjelp av MVC -mønsteret blir de forskjellige visuelle elementene i GUI håndtert av visningen, opptaket og behandlingen av hvor og hva en bruker klikkes håndteres av kontrolleren, og faktisk endrer informasjon eller lastingsinformasjon gjøres av modellen.Avhengig av den nøyaktige utformingen av en applikasjon, kan hver komponent i MVC -mønsteret ha en mekanisme for å samhandle med de andre komponentene, for eksempel at modellen kan instruere visningen direkte for å oppdatere skjermen eller visningen som har en måte å fortelleKontroller at det er forfriskende på skjermen og ikke å godta nye innganger.I motsetning til noen designmønstre som tar en streng black-box-tilnærming, har modell-view-controller-programmer en tendens til å være litt mer fleksible, selv om noen implementeringer kan gjøre et MVC-program vanskelig å endre eller feilsøke modulært. I visse tilfeller, modellen-Visningskontrollermønster trenger ikke å inneholde bare en av hver komponent.Et eksempel er en applikasjon som har flere visninger, for eksempel flere skjermer, eller en skjerm som kan sees på flere klientenheter.Flere visninger og kontrollere kan brukes i en applikasjon som lar mange brukere få tilgang til en database, og alle svarer på en enkelt modell.Det er imidlertid mer vanlig å designe systemer som opprettholder et en-til-en-forhold mellom modell-visningskontrollerkomponentene. Selv om modell-view-kontroll-komponenter har en avhengighet av hverandre, kan det være mye enklereFor å endre visse deler av et system som bruker MVC-mønsteret enn om det ikke ble brukt noe mønster i det hele tatt, spesielt i tilfelle av ikke-objektorienterte applikasjoner.Hvis en applikasjon bruker tilbakeringinger eller lyttere og observatører for å implementere interaksjoner mellom komponentene, kan hver komponent endres uten å påvirke de to andre.Dette betyr at en ny GUI kan implementeres uten å påvirke modellen eller kontrolleren.Det skal imidlertid bemerkes at grunnleggende endringer i et modell-syn-kontrollsystem kan kreve en liten mengde re-koding for hver enkelt komponent.