MVC eli mallinäkymäohjain on ohjelmistoissa käytetty tekniikka. Sen perustarkoitus on tehdä ero ohjelmiston tietojen käsittelyn ja sen välillä, miten ohjelmisto on vuorovaikutuksessa käyttäjän kanssa. Tämä ero tarkoittaa sitä, että prosesseja voidaan käsitellä, kehittää ja tarkistaa erikseen, mikä voi olla tehokkaampaa.
Prosessi perustuu ajatukseen, että yksinkertaisimmalla tasolla kaikki ohjelmistot suorittavat saman kolmivaiheisen toiminnon. Ensin käyttäjä syöttää tietoja, sitten ohjelmisto käsittelee tiedot ja lopuksi ohjelmisto tulostaa tulokset uutena tietokokonaisuutena. Hyvin yksinkertainen esimerkki tästä on käyttäjä, joka kirjoittaa laskimeen “2+2 =”, laskin laskee vastauksen ja laskin näyttää “4”.
MVC -järjestelmässä tapa, jolla tietokone käsittelee tietoja, tunnetaan mallina. Tulosten tulosta kutsutaan näkymäksi. Käyttäjän syöttämät tiedot tunnetaan ohjaimena. On tärkeää muistaa, että näkymä ja ohjain ovat ohjelman osia, jotka ohjaavat tuloa ja lähtöä. Termit eivät yleensä viittaa fyysisiin esineisiin, kuten näppäimistöön tai näyttöön.
MVC: n käytön tarkoituksena on yksinkertaistaa ohjelmistoprosessin eri elementtien eristämistä. Järjestelmää käyttämällä ohjelma jaetaan tehokkaasti kolmeen osaan: tietojenkäsittelyyn, syöttöprosessiin ja tulostusprosessiin. Tämä tarkoittaa, että yhden ohjelman osan muutokset voidaan tehdä sujuvammin ilman, että joudut kirjoittamaan myös ohjelman muita osia.
Mallinäkymäohjainjärjestelmän katsotaan olevan edelläkävijä Smalltalk -ohjelmointikielellä. Xeroxissa 1970 -luvulla luotu Smalltalk on osittain suunniteltu opettamaan ihmisille tietojenkäsittelyn objektimalli. Yksinkertaisesti sanottuna siihen kuuluu tietojenkäsittelytehtävän jakaminen erillisiin osiin ja ohjelman rakentaminen näiden osien vuorovaikutustavan mukaan. Smalltalk oli myös esimerkki dynaamisesta ohjelmoinnista, jossa ohjelmaa voidaan tarkistaa myös sen ollessa käynnissä.
MVC-järjestelmää käytetään usein verkkopohjaisissa ohjelmistoissa, kuten dynaamisissa tai interaktiivisissa verkkosivustoissa. Näissä tilanteissa näkymä on koodi, kuten HTML, jonka ohjelmisto luo kyselyn käsittelyn jälkeen. Esimerkiksi hakukoneen hakukenttään tulee ohjain ja tulossivulle näkymä.