Model–view–controller

Fra Wikipedia, den frie encyklopedi
Gå til: navigasjon, søk
Model-view-controller-konseptet

Model-view-controller (MVC) er et designmønster anvendt i programvareutvikling. Et MVC-program deler programmet opp i data (model) og brukergrensesnitt (view), slik at endringer i brukergrensesnittet ikke vil ha noen innvirkning på hvordan dataene håndteres, og vice versa. Det bruker et mellomliggende komponent for å kommunisere mellom view og model – controller.

MVC kombineres ofte med konseptet objektorientert programmering, hvor dataenkapsulering er sentralt. M i MVC, som står for "model", forekommer oftest som en representasjon av en klasse som representerer et objekt. Som eksempel, en "model" av klassen "menneske" representeres med en serie egenskaper og funksjoner (eller metoder) gjennom en instans av gitt klasse. Denne instansen tar vare på data om f.eks en person, e.g. navn, alder, etc.

Når informasjonen om en person skal vises fram, eller manipuleres, så gjøres dette gjennom et grensesnitt, også kalt View. Informasjonen i modellen som skal vises fram i et View forberedes av en Controller, som sender aktuell data til et View (dette kan være objektet i sin helhet, eller bare egenskaper av objektet).

Oppsummert:

  • Model: holder på data
  • View: viser fram data
  • Controller: flytter på data

Fordelen med å benytte dette mønsteret er forenklet kode ved å unngå replikasjon, og gjenbrukbare objekter som kan brukes i andre view (f.eks webgrensesnitt for mobiltelefoner som skiller seg fra grensesnitt for nettlesere på datamaskiner).

MVC ble først beskrevet av Trygve Reenskaug i 1979. Han arbeidet da med Smalltalk hos Xerox PARC.

datastubbDenne datarelaterte artikkelen er dessverre kort eller mangelfull, og du kan hjelpe Wikipedia ved å utvide den.