MVC ali krmilnik pogleda modela je tehnika, ki se uporablja v programski opremi. Njegov temeljni namen je zgraditi razlikovanje med načinom, kako programska oprema ravna s podatki, in načinom interakcije programske opreme z uporabnikom. To razlikovanje pomeni, da je procese mogoče obravnavati, razvijati in preverjati ločeno, kar je lahko učinkovitejše.
Postopek temelji na konceptu, da na najpreprostejši ravni vsa programska oprema izvaja isto funkcijo v treh korakih. Najprej uporabnik vnese podatke, nato programska oprema obdela podatke in končno programska oprema izpiše rezultate kot nov niz podatkov. Zelo osnovni primer tega je, da uporabnik vnese »2+2=« v kalkulator, kalkulator izračuna odgovor, nato pa kalkulator prikaže »4«.
V sistemu MVC je način, kako računalnik obdela podatke, znan kot model. Izhod rezultatov je znan kot pogled. Vnos podatkov s strani uporabnika je znan kot krmilnik. Pomembno si je zapomniti, da sta pogled in krmilnik dela programa, ki nadzorujeta vhod in izhod. Izrazi se običajno ne nanašajo na fizične predmete, kot sta tipkovnica ali monitor.
Namen uporabe MVC je poenostaviti izolacijo različnih elementov programskega procesa. Z uporabo sistema je program učinkovito razdeljen na tri dele: obdelavo podatkov, vhodni proces in izhodni proces. To pomeni, da je mogoče spremembe v enem delu programa narediti bolj gladko, ne da bi morali prepisati tudi druge dele programa.
Šteje se, da je sistem krmilnika pogleda modela pionir v programskem jeziku z naslovom Smalltalk. Smalltalk, ki je bil ustvarjen v sedemdesetih letih prejšnjega stoletja pri Xeroxu, je bil delno zasnovan za poučevanje ljudi o objektnem modelu računalništva. Preprosto povedano, to vključuje razčlenitev računalniške naloge na ločene dele in gradnjo programa glede na način interakcije teh delov. Smalltalk je bil tudi primer dinamičnega programiranja, pri katerem je mogoče program revidirati tudi med delovanjem.
Sistem MVC se pogosto uporablja v spletni programski opremi, kot je tista, ki se uporablja v dinamičnih ali interaktivnih spletnih mestih. V teh primerih je pogled koda, kot je HTML, ki jo programska oprema ustvari po obdelavi poizvedbe. Na primer, v iskalniku bi bilo polje iskalne poizvedbe krmilnik, stran z rezultati pa pogled.