This article is currently in the process of being translated into Serbian (~96% done).
What is MVC?
MVC, skraćenica za Model-view-controller, je softverski obrazac originalno nastao 1970-tih kada je grafički korisnički interfejs bio u ranoj fazi razvoja. MVC teži da razdvoji aplikacije u tri dela:
The Model
U modelu se nalaze podaci i biznis logika palikacije. U tipičnoj web aplikaciji, ovaj deo predstavlja npr. tabelu u bazi podataka ili bilo koji drugi objekat koji se koristi u aplikaciji.
The View
View je zapravo vizuelna reprezentacija Model-a. U tipičnoj web aplikaciji, ovo bi bila stranica koja prikazuje Model korisniku, bilo u obliku forme za unošenje podataka ili prikaza istih ili pak kombinacije oba. Očigledno, View ne mora nužno da prikazuje sve delove Model-a, i Model može imati više od jednog View-a.
The Controller
Controller bi trebalo da bude zadužen za svu komunikaciju između Model-a i View-a. U tipičnoj web aplikaciji, metode Controller-a se pozivaju kada korisnik učitava stranicu ili klikne na dugme. Controller zatim update-uje Model, i ako je potrebno, zatim vraća novi View (ili akciju, ali o tome kasnije), ako je potrebno.
The Rise of MVC
Nakon što je predstavljen 1970-tih, MVC obrazac nije dobio puno pažnje narednih 30 godina. Rani web jezici, poput Perl, PHP i ASP Classic nisu bili usmereni ka ovom obrazcu pa čak i prilikom release-a ASP.NET-a, MVC i dalje nije bio integrisan deo. Naravno, MVC tehnike su se mogle primeniti na projekte, ali nijedan od popularnih framework-a nije ohrabravao ovaj korak.
Zatim, 2004, Ruby on Rails framework je release-ovan, koji je bio razvojni web framework baziran na Ruby jeziku koji je nasao veliku inspiraciju u MVC obrazcu. Mnogo ljudi veruje da je to stavilo fokus nazad na MVC i nedugo zatim, mnogi PHP framework-ovi, bazirani oko MVC obrazca, su release-ovani. Sve ovo je MVC obrazac popularizovalo, što je najverovatnije uticalo da Microsoft odluči da uradi svoju implementaciju svog .NET framework-a, uključujući ogromnu podršku alatki za Visual Studio IDE. ASP.NET MVC je relase-ovan 2007, ali u prva finalna verzija nije ugledala svetlost dana pre 2009.
U sledećim odeljcima, dublje ćemo pogledati šta je ASP.NET MVC zapravo i koje su mu alternative, prevashodno ASP.NET WebForms.