MVC - uvod
Šta je MVC ?
U nastavku je kratak video sa jednim načinom objašnjenja (na našem jeziku):
MVC je arhitektura koja opisuje način kako da struktuirate vašu aplikaciju i koje su odgovornosti i interakcije svakog dela te strukture, i rešava vam problem u organizaciji vašeg koda.
MVC za Web Aplikacije
Ideja iza MVC arhitekture je jednostavna: podelićemo odgovornosti između različitih slojeva aplikacije.
Aplikacija je podeljena na tri glavne komponente, svaka od njih obavlja različite zadatke:
Controller
Kontroler (Controller) sadrži glavnu kontrolu programa i odgovoran je za njegov tok. U web aplikacijama je prvi sloj koji se poziva kada Browser pozove URL. Takođe kontrolor upravlja korisničkim zahtevima (HTTP GET ili
POST zahtevima kada korisnik klikne na neki GUI element). Obično kontroler poziva određeni model za zadatak i zatim odabira odgovarajući pogled (View).
Model
Model sadrži glavne programske podatke kao što su informacije od objekata iz baze podataka i SQL upiti. Svi podaci se dobijaju od modela, ali se on ne može direktno pozvati, već je kontroler taj koji
od modela zahteva određene podatke, model obrađuje zahteve i vraća podatke kontroleru.
View
View je poslednji sloj MVC arhitekture koji sadrži korisničko okruženje aplikacije, odnosno obezbeđuje različite načine za prezentovanje podataka koje dobija od modela. U web aplikacijama View sadrži HTML, CSS, JavaScript,
XML ili JSON, itd. Nikad ne koristite HTML, CSS ili JavaScript u controlleru! View je vidljiv od strane korisnika, dok su model i controller skriveni.