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

RAZVOJ VEB APLIKACIJA II

MVC arhitektura framework-a za


razvoj veb aplikacija
Istorijat i osnove

• MVC (Model View Controller) arhitektura je prvobitno


formulisana krajem sedamdesetih godina prošlog vijeka od
strane Norveškog informatičara Trygve Reenskauga kao dio
Smalltalk programskog jezika.
• Danas se MVC koristi u velikom broju modernih veb i GUI
framework-a kao što su CodeIgniter, Ruby on Rails, Apple
Cocoa, Apache Struts…
Istorijat i osnove
• Dve centralne ideje se nalaze u osnovi ove arhitekture, a to su
ponovno korišćenje već postojećeg koda i jasna raspodjela
zaduženja među različitim djelovima sistema.
▫ Prva ideja omogućava da se jednom napisani kod uz
minimalne ili čak nikakve izmjene može koristiti u više
razlilitih projekata.
▫ Druga ideja je podjela sistema na više međusobno
nezavisnih cjelina od kojih svaka ima svoj zadatak i koje se
pojedinačno mogu modifikovati bez rizika da će se te
promjene odraziti na ostatak sistema.
Struktura
• MVC dijeli aplikacije na tri različite komponente i definiše
njihove međusobne interakcije:
Struktura
• Model je zadužen za procesiranje događaja koje mu controller
prosledi i vraćanje obrađenih podataka controller-u.
• Kod CodeIgniter aplikacija modeli obično sadrže funkcije za
rad sa bazama.
• View korisniku prezentuje podatke primljene od controller-a i
prima korisničke zahteve i prosleđuje ih controller-u.
Struktura
• Kod CodeIgniter aplikacija view su najčešće veb strane, mada
mogu biti i samo fragmenti veb strana poput header-a ili
footer-a.
•  Controller služi kao posrednik između view-a i modela.
Preuzima korisničke zahteve od view-a, manipuliše njima i
prosleđuje ih modelu i na osnovu podataka dobijenih od njega
modifikuje view.
Struktura
• CodeIgniter ima poprilično slobodan pristup MVC arhitekturi
pošto je moguće izbaciti modele.
• Ukoliko želite možete ih u potpunosti ignorisati i kreirati
aplikaciju koristeći samo komponente controller i view.
Prednosti
• Glavne prednosti MVC arhitekture su ponovno korišćenje
koda i podela sistema na međusobno nezavisne cjeline, a
odatle proizilaze i ostale prednosti.
▫ Projekti su mnogo sistematičniji, njihovi pojedinačni delovi
se mogu lako mijenjati i poboljšavati, kod pisan na ovaj
način je neuporedivo lakše testirati, paralelni razvoj
aplikacije se može lako organizovati i samim tim se
povećava produktivnost.
Mane
• Previše je kompleksan za implementaciju kod razvoja manjih
aplikacija i njegovo korišćenje u tim slučajevima dovodi do
pogoršanja kako dizajna tako i performansi.
• Ponekad se može desiti da usled čestih promjena modela view
bude preplavljen zahtevima za izmjenu.
• Ukoliko on služi za prikazivanje sadržaja kojem je potrebno
određeno vreme za renderovanje, česti zahtevi za izmjenu
mogu dovesti do kašnjenja.

You might also like