ASP.NET MVC 1.0

Published 08 studeni 09 07:35

Pojavom ASP.NET 3.5 Extensions pored mnogih funkcionalnosti, dobili smo i ASP.NET MVC framework koji je izdat pod MS-PL (Microsoft Public Licence) te nam dozvoljavaju da modifikujemo i redistribuiramo isti.

ASP.NET MVC radi na principu model – view – controller koji je poznat većini developera.

Model u MVC arhitekturi je dio aplikacije koji implementira logiku aplikacije ili delegira zathjeve nekom servisnom sloju ako imamo složeniju arhitekturu sistema.

View u MVC arhitekturi je dio aplikacije koji prikazuje user interface. View ne sadrži nikakvu BL, nego samo prikazuje podatke u odnosu na podatke koje dobije od modela. Npr. u odnosu na status ispita, korisnik može vidjeti različit GUI. Prednost MVC arhitekture je što veoma lako možemo napraviti View Engine koji će nam kroz XSLT generisati HTML koji će server slati klijentu.

Controller je komponenta koja preuzima zahtjeve od klijenta, „kontaktira“ model te selektuje neke od ponuđenih view-eva za slanje odgovora klijentu.

ASP.NET MVC promovira loose coupling između komponenti što je ujedno i najveća prednost ovog principa jer nam jasno definiše gdje bi koji dio code-a trebao biti. Ovo razdvajanje nam pomaže da lakše pravimo kompleksnije aplikacije te nam omogućava da se fokusiramo na samo jednu stvar pri razvoju, npr da pravimo View engine a da pri tome ne brinemo o business dijelu. Po ovom patternu, user interface logika pripada view dijelu, business logic pripada model dijelu dok korisnikovi inputi pripadaju controller dijelu. Također pisanje testova je olakšano u odnosu na Web forms baziranu arhitekturu, jer sve komponente su odvojene (loose coupling) dok u Web forms input i output se nalaze u jednoj klasi koja se sastoji od mnoštva drugih klasa (kontrola) te je veoma teško napisati testove koji će se fokusirati na pojedinačne dijelove aplikacije.

Pojavom MVC frameworka, još uvijek možemo koristiti mnoge mogućnosti koje postoje u Web Forms-ima, npr. Forms Authentication, membership and roles, session... Također možemo koristiti postojeće kontrole, kao i naše postojeće custom server controls, master pages. Možda jedna od bitnijih stvari je ta što možemo napraviti smislene URL-ove, koje će bolje znati iskoristi search engines te koje će biti samom korisniku jasnije.

Kako je ASP.NET MVC tek u povoju ne postoji dosta literature niti primjera, ali postoje neki koji mogu poslužiti da bi uvidjeli mogućnosti ASP.NET MVC arhitekture.

Npr na http://www.asp.net/learn/mvc-videos/video-395.aspx možemo vidjeti kako je veoma lako napraviti osnovne stvari, a na http://www.asp.net/learn/mvc/#MVC_Overview postoji dosta stvari koje nam mogu pomoći kako bi krenuli u implementaciju sa ASP.NET MVC.

U sljedećem članku ću napraviti jednostavan primjer kako bi se upoznali malo bolje sa osnovnim stvarima ASP.NET MVC-a.

By: Amel Musić

Comments

No Comments
Anonymous comments are disabled