MVC web patern

MVC je akronim od „model view controler“ i predstavlja softverski patern. Prva formulacija MVC paterna datira iz davne 1979 godine a tvorac je Norvežanin Trygve Reenskaug. Definicija se odnosila na GUI aplikacije. Pošto je prvobitno bio predviđen za desktop programiranje, arhitektura paterna kasnije je modifikovana i za web platformu. Trenutno je MVC zasigurno najzastupljeniji patern za razvoj web aplikacija. Upotreba mnogobrojnih framework-a olakšava njegovu primenu te je podržan od velikog broja programskih jezika.

Suština MVC paterna je razdvajanje prezentacijskog sloja i same logike aplikacije. Prezentacijski sloj ili„view“ je prosto rečeno interfejs kojeg korisnik vidi i koji obezbeđuje interakciju sa korisnikom. „Model“predstavlja logiku same aplikacije, odnosno podatke i strukture sa kojima se barata. Logika paterna je takva da „model“ ne zna postojanje „view“-a i obratno. „Controler“ ima ulogu kordinatora. Poštovanjem predefinisane logike rutiranja MVC aplikacije, svaki web zahtev dolazi direktno do odgovarajućeg kontrolera, koji pomoću „model“-a generiše potrebne podatke, prosledi ih „view“-u i na kraju odgovarajući„view“ vrati klijentu, odnosno web pretraživaču.

Microsoft je uvrstio MVC framework kao sastavni deo .NET okruženja. .NET framework 4.5 omogućuje tri pristupa razvoju web aplikacija: korišćenjem web formi, web strana ili MVC framework-a. ASP .NET MVC framework je stigao do verzije 4 aktuelne od avgusta 2012 godine. Takođe, većina vodećih PHP framework-a, a o nekima smo i pisali, se bazira na MVC paternu. Navešćemo samo neke: FuelPHP, Zend, Yii, CodeIgniter, Simfony, CakePHP, Prado itd. Treba reći da često implementacija datog paterna od strane nekog framework podrazumeva određene razlike i varijacije, no suština paterna ostaje nepromenjiva.

Na adresi http://www.asp.net/mvc/tutorials možete pronaći reference ka tutorijalima za savladavanje ASP .NET MVC tehnologije. Obrađeni su odlično kako teoretski tako i praktični deo implementacije framework-a. Microsoft je dugo forsirao korišćenje web formi kao preferirani način razvoja web aplikacija, odnosno sistem „code behind“ koji je trebao da razdvoji dizajn od koda. Takav pristup trebalo je da obezbedi dizajnerima rad na projektu bez znanja programiranja i obratno – programerima bavljenje logikom i funkcionalnošću same aplikacije bez mnogo obaziranja na vizuelni identitet aplikacije. Međutim, iako tako zamišljen, ovaj pristup u određenim situacijama nije dovoljno razdvajao dizajn od koda. Vremenom je uočen i drugi objektivni nedostak ovog pristupa, a to je komplikovana (nekada i nemoguća) integracija alata i framework-a za automatsko testiranje softvera. Iz toga je potekla ideja, a kasnije je realizovan MVC framework koji je nadomestio sve navedene nedostatke.

Na kraju, rećićemo da, iako donosi sasvim novi pristup razvoju web aplikacija i sve izleda s početka lako i logično,  svaki MVC framework nosi u sebi potpunu kompleksnost MVC paterna. Kada se dođe do složenih i konkretnih situacija, koje nisu obrađene ni jednim tutorijalom, da se uvideti da tehnologija uopšte nije jednostavna i naivna kako se u startu čini – takvo je bar mišljenje autora ovog teksta. Ono što je sigurno jeste da je potrebno odvojiti određeno vreme kako bi kompletno ovladali nekim od MVC framework-a. Sugestija sa naše strane je da budete istrajni u ovladavanju, jer nije bezrazložna činjenica da su traženi i zastupljeni onoliko koliko jesu.

Članak preuzet sa sajta IT Modul

​Autor: Vladimir

Tags: 
Aktuelan: