MVC Arhitektura

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 1

MVC arhitektura

MVC arhitektura je softverski patern Model-view-controller koji odvaja prikaz informacija od


interakcije korisnika sa tim informacijama. Model se sastoji od podataka aplikacije, poslovnih
pravila, logike i funkcija. View može da bude bilo koji izlazni prikaz podataka, kao što je
dijagram ili grafik. Više prikaza istog podatka je moguće, kao što je grafik sa barovima za
menadžment i tabelarni prikaz za računovođe. Controller uzima ulazne podatke i konvertuje ih u
komande za model ili view.
Interakcije između komponenti
MVC deli softverski sistem u tri dela:
View - obezbeđuje korisniku interfejs pomoću koga korisnik unosi podatke i poziva
odgovarajuće operacije koje treba da se izvrše nad model-om. View prikazuje korisniku stanje
model-a.
Controller - osluškuje i prihvata zahtev od klijenta za izvršenje operacije. Nakon toga poziva
operaciju koja je definisana u model-u, i ukoliko model promeni stanje, obaveštava view o
promeni stanja.
Model - predstavlja stanje sistema koje mogu promeniti operacije model-a. Model ne mora da
zna ko su view i controller.
Korišćenje u web aplikacijama
MVC je široko prihvaćen kao patern za aplikacije na svetskoj mreži, u svim značajnijim
programskim jezicima. Nekoliko komercijalnih i nekomercijalnih framework-a koriste ovaj
patern. Svaki od njih varira u interpretaciji po pitanju toga da su MVC odgovornosti podeljene
između klijenta i servera. Oni raniji su podržavali da se ceo model, view i controller nalazi na
serveru. U ovom pristupu, klijent je slao zahtev (na primer preko forme) a potom primao
kompletnu novoformiranu web stranu.
Kako je tehnologija napredovala, došlo se do toga da se MVC komponente delom izvršavaju na
klijentu (Ajax).
Istorijat
Trygve Reenskaug je uveo MVC u Smalltalk-76 tokom posete Ziroksu sedamdesetih godina.[1]
[2] Zatim, osamdesetih Jim Althoff i drugi su implementirali verziju MVC-a za Smalltalk-80
biblioteku klasa. Tek u članku iz 1988-e MVC je predstavljen kao koncept.[3] Ovaj prvi MVC
koncept definiše controller kao modul koji radi sa ulaznim podacima (slično kao što view radi sa
izlaznim podacima). U modernim aplikacijama od 2000-te godine, controller je modul ili deo
koda koji služi za komunikaciju između model-a i view-a, koristeći ili direktan poziv ili observer.
Drugi aspekti MVC-a su takođe evoluirali, ali kao varijante originalnog koncepta, i pošto delovi
klasičnog MVC-a nemaju smisla kada se koriste kod debelih klijenata HMVC, MVA, MVP,
MVVM i drugi su adaptirali MVC na drugačije načine.

You might also like