Modelio peržiūros valdiklis (MVC) yra programinės įrangos architektūros ir dizaino modelis, kuris segmentuoja kiekvieną programos elementą į aiškiai apibrėžtas funkcionalumo sritis. Modelio rodinio-valdiklio architektūroje modelis yra susijęs su visa vidine programos logika, kuri manipuliuoja, išsaugo, nuskaito ir kitaip tvarko bei skaičiuoja duomenis. Rodinio aspektas yra atsakingas už informacijos iš modelio atvaizdavimą vartotojui, taip pat suteikia vartotojui būdą įvesti programą. Valdiklis priima įvestį iš rodinio, įvertina ar kitaip ją apdoroja ir sąveikauja su modeliu, kad pakeistų duomenis arba programos būseną, kuri galiausiai rodoma vartotojui per rodinį. Nors modelio-žiūriklio-valdiklio dizainas reikalauja, kad programa apimtų funkcionalumą, trys skyriai vis tiek turi tam tikru būdu sąveikauti ir paprastai yra tam tikra prasme priklausomi vienas nuo kito, skirtingai nuo kitų agresyvesnių dizaino modelių.
Gana dažnai modelio rodinio-valdiklio modelis matomas programose, kurios valdo grafinę vartotojo sąsają (GUI). Naudojant MVC šabloną, skirtingus vaizdinius GUI elementus tvarko vaizdas, įrašymą ir apdorojimą, kur ir ką vartotojas spusteli, tvarko valdiklis, o faktiškai keičia informaciją arba įkelia informaciją modelis. Priklausomai nuo tikslaus programos dizaino, kiekvienas MVC modelio komponentas gali turėti mechanizmą, kuris sąveikauja su kitais komponentais, pavyzdžiui, modelis gali tiesiogiai nurodyti rodiniui atnaujinti ekraną arba rodiniui, kuris gali pasakyti valdiklį, kad jis atnaujina ekraną ir nepriima naujos įvesties. Skirtingai nuo kai kurių projektavimo modelių, kuriuose taikomas griežtas juodosios dėžės metodas, modelio rodinio valdiklio programos paprastai yra šiek tiek lankstesnės, nors dėl kai kurių diegimų MVC programą gali būti sunku pakeisti arba derinti moduliniu būdu.
Tam tikrais atvejais modelio rodinio valdiklio šablone nebūtinai turi būti tik vienas iš kiekvieno komponento. Vienas iš pavyzdžių yra programa, kuri turi kelis rodinius, pvz., kelis monitorius, arba ekranas, kurį galima matyti keliuose kliento įrenginiuose. Programoje, kuri leidžia daugeliui vartotojų pasiekti duomenų bazę, gali būti naudojami keli rodiniai ir valdikliai. Tačiau dažniau kuriamos sistemos, kuriose modelio, vaizdo ir valdiklio komponentų santykis yra vienas su vienu.
Nors modelio vaizdo valdiklio komponentai priklauso vienas nuo kito, gali būti daug lengviau modifikuoti tam tikras sistemos dalis, kuriose naudojamas MVC šablonas, nei tuo atveju, jei modelis nebūtų naudojamas, ypač neobjektyvaus atveju. programos. Jei programa naudoja atgalinius skambučius arba klausytojus ir stebėtojus, kad įgyvendintų sąveiką tarp komponentų, kiekvieną komponentą galima pakeisti nepažeidžiant kitų dviejų. Tai reiškia, kad nauja GUI gali būti įdiegta nepažeidžiant modelio ar valdiklio. Tačiau reikia pažymėti, kad norint atlikti esminius modelio peržiūros valdiklio sistemos pakeitimus, gali reikėti šiek tiek perkoduoti kiekvieną atskirą komponentą.