Vad är MVC?

MVC, eller model view controller, är en teknik som används i programvara. Dess grundläggande syfte är att bygga en distinktion mellan hur programvaran hanterar data och hur programvaran interagerar med användaren. Denna distinktion gör att processerna kan hanteras, utvecklas och kontrolleras separat, vilket kan bli mer effektivt.

Processen bygger på konceptet att på den enklaste nivån utför all mjukvara samma trestegsfunktion. Först matar en användare in data, sedan bearbetar programvaran data och slutligen matar programvaran ut resultaten som en ny uppsättning data. Ett mycket grundläggande exempel på detta är en användare som skriver ”2+2=” i en miniräknare, räknaren räknar ut svaret och sedan visar miniräknaren ”4”.

I MVC-systemet kallas det sätt som datorn behandlar data på som modellen. Resultatet är känt som vyn. Användarens inmatning av data är känd som kontrollanten. Det är viktigt att komma ihåg att vyn och styrenheten är de delar av programmet som styr ingången och utgången. Termerna hänvisar vanligtvis inte till fysiska föremål som ett tangentbord eller bildskärm.

Syftet med att använda MVC är att göra det enklare att isolera olika delar av en mjukvaruprocess. Genom att använda systemet delas ett program effektivt in i tre delar: databehandlingen, inmatningsprocessen och utmatningsprocessen. Detta innebär att ändringar i en del av programmet kan göras smidigare utan att man också behöver skriva om de andra delarna av programmet.

Modellvykontrollsystemet anses allmänt ha varit banbrytande i ett programmeringsspråk med titeln Smalltalk. Smalltalk skapades på 1970-talet på Xerox och designades delvis för att lära människor om datorobjektmodellen. Enkelt uttryckt innebär det att dela upp en datoruppgift i separata delar och bygga programmet kring hur dessa delar interagerar. Smalltalk var också ett exempel på dynamisk programmering, där ett program kan revideras även när det är igång.

MVC-systemet används ofta i webbaserad programvara som den som används på dynamiska eller interaktiva webbplatser. I dessa situationer är vyn koden, till exempel HTML, som genereras av programvaran efter bearbetning av en fråga. Till exempel, på en sökmotor skulle sökfrågerutan vara kontrollern och resultatsidan vyn.