Höfundur Rúnar Þór Bjarnþórsson

Inngangur

breyta

Tilgangur með þessari grein er að útskýra virkni á MVC hugbúnaðarrammanum (MVC framework) á sem einfaldastan hátt þannig að þetta nýtist þeim sem eru að byrja að læra forritun og hægt að nýta sér í námi í Tölvunarfræði.

Asp.net MVC Framework

breyta

Asp.net MVC Framework er þróunarumhverfi til að búa til vef hugbúnað, sem er þróað af Microsoft.

Undir asp.net eru tveir hugbúnaðarrammar MVC framework og Web Forms framework.

MVC stendur fyrir Model – View – Controller


Model: sér um gagna aðgang (data access) virkni og klasa sem snúa að gagna virkni (business Object) þetta eru venjulegir POCO klasar (Plain Old Class Objects).

View: er sniðmát sem formar upplýsingarnar fyrir vefvafrann (HTML markup eða annað format)

Controller: sér um samskiptin milli models og views og skilar niðurstöðunni út í vefþjóninn sem síðan er skilað út í vefvafrann.


Myndin sýnir hvernig högun á MVC virkar og hvernig samskiptin eiga sér stað.
Hér að neðan er lýsing á hvernig högunin virkar

 
MVC Högun


MVC virkni

breyta
  1. Fyrirspurn fer í gegnum asp.net stakkinn og er sent á vefþjóninn
  2. Í vefþjóninum er notaður routing engine til að finna þann controller sem á að nota
  3. Controllerinn sér um að hafa samband við viðkomandi model og view
  4. Modelið tekur við fyrirspurninni frá contollernum og vistar gögnin og skila þeim til controllersins.
  5. Controllerinn biður um viðeigandi view með gögnum frá viðeigandi model klasa
  6. Controllerinn skilar svo niðurstöðunni á vefþjóninn.

Þetta er mjög einfölduð mynd af þessari virkni en þetta er bara gert til að sýna byrjendum grunn virknina fyrir MVC högunina.

View eru í raun HTML síða sem getur líka innihaldið JavaScript og CSSeins og venjulegar HTML síður.

Með tilkomu MVC 3.0 þá kom ný View engine sem kallast Razor sem tók við af eldri Webforms view engine.

HTML helpers klasar eru til að einfalda forritunina við búa til síður með ýmsum gagnatögum

Dæmi um Razor view syntax:

@Html.DisplayFor(modelItem => item.Name)
@Html.TextBoxFor(modelItem => item.Description)

Partial views: þá er hægt að hafa eitt view sem virkar fyrir margar síður þ.e endurnota sama sniðmátið fyrir margar síður í stað þess að búa til margar síður sem eru í raun alveg eins.

Master pages/Layout pages: til að geta haft útlitið eins í gegnum allt kerfið.

View Model: þá er hægt að birta í einu view upplýsingar úr mörgum töflum.

Kostir við MVC

breyta

Kostur við að nota MVC mynstur í stað Web forms mynstur er að MVC er léttara í vinnslu og þróunaraðilinn hefur meira vald yfir hugbúnaðinum og virkni hans með því að nota þrískiptu lögin (layers) Model,View og Controller.
Einnig er einfaldara að framkvæma eininga prófanir með þessari högun.

MVC er mjög vinsæll vef hugbúnaðarrammi til að þróa veflausnir. Margir vinsælir hugbúnaðarrammar (frameworks) nota þessa högun og má þar helst nefna Visual Studio frá Microsoft og Ruby on Rails ,
Django fylgir líka model-view-controller mynstrinu eins og margir fleiri aðilar.


MVC útgáfur

breyta
MVC útgáfur Ár
MVC 1.0 2009
MVC 2.0 2010
MVC 3.0 2011
MVC 4.0 2012
MVC 5.0 2013

Með útgáfu 2.0 þá var þessi högun innbyggð í Visual Studio 2010.

Tenglar og heimildir

breyta

http://msdn.microsoft.com/en-us/library/ff649643.aspx
https://en.wikipedia.org/wiki/ASP.NET_MVC_Framework#View_engines
http://www.w3schools.com/aspnet/mvc_intro.asp
Mynd gerð í visio RB