Anda di halaman 1dari 16

M hnh MVC (Model - View -1 Controller) l mt kin trc phn mm hay m hnh thit k c s dng trong k thut phn

mm. N gip cho cc developer tch ng dng ca h ra 3 thnh phn khc nhau Model, View v Controller. Mi thnh phn c mt nhim v ring bit v c lp vi cc thnh phn khc.

Model y l thnh phn cha tt c cc nghip v logic, phng thc x l, truy xut database, i tng m t d liu nh cc Class, hm x l... View m nhn vic hin th thng tin, tng tc vi ngi dng, ni cha tt c cc i tng GUI nh textbox, images...Hiu mt cch n gin, n l tp hp cc form hoc cc file HTML. Controller Gi nhim v nhn iu hng cc yu cu t ngi dng v gi ng nhng phng thc x l chng... Chng hn thnh phn ny s nhn request t url v form thao tc trc tip vi Model.

Nhn s , ta thy c mi tn nt lin v nhng mi tn nt t. Nhng mi tn nt t c hnh thnh trn quan im ca ngi dng m khng phi l ca nhng nh thit k phn mm thc s. Do chng ta ch quan tm n nhng mi tn cn li. y l mt cch n gin m t li lung s kin c x l trong MVC: - User tng tc vi View, bng cch click vo button, user gi yu cu i. - Controller nhn v iu hng chng n ng phng thc x l Model. - Model nhn thng tin v thc thi cc yu cu. - Khi Model hon tt vic x l, View s nhn kt qu t Model v hin th li cho ngi dng.

im ging nhau: C hai u l m hnh kin trc p dng trong lp trnh c tch thnh 3 thnh phn. Tch bit s ph thuc gia ngn ng lp trnh, mi trng pht trin, x l logic. Cc thnh phn mi m hnh c nhiu im tng ng nh Presentation Layer v View...

im khc bit: - Khc bit r nht l cch x l yu cu (workflow) ca 2 m hnh (Tham kho cch lm vic ca 2 m hnh). - MVC, thnh phn Model gi chc nng ca c lp Business v Data Access trong m hnh 3 Layer. -3 Layer thng c s dng trong lp trnh ng dng, trong khi MVC c u chung nhiu trong lp trnh website v tnh linh hot v khng bt buc cc DTO nh 3-Layer

u im: Th hin tnh chuyn nghip trong lp trnh, phn tch thit k. Do c chia thnh cc thnh phn c lp nn gip pht trin ng dng nhanh, n gin, d nng cp, bo tr..

Nhc im: i vi d n nh vic p dng m hnh MC gy cng knh, tn thi gian trong qu trnh pht trin. Tn thi gian trung chuyn d liu ca cc thnh phn.

ASP.Net MVC 3 l mt phin bn c thm nhiu tnh nng v ci tin mi gip n gin ha m (code) . ASP.Net MVC 3 cng tng thch ngc vi ASP.Net MVC 1 v ASP.Net MVC 2, khin vic nng cp cc ng dng ny rt d dng.

1. Cng c xem Razor (The Razor View Engine)


- ASP.net MVC 3 i km vi mt cng c xem mi c tn l Razor vi nhng li ch sau: C php Razor l sch s v xc tch, i hi mt s lng ti thiu cc t hp phm. Vic tm hiu Razor tng i d dng v n da trn ngn ng C# v Visual Basic.

Visual Studio bao gm IntelliSense v m c php Razor c mu ha.


Razor views c th kim tra tng n v m khng i hi bn phi chy cc ng dng hoc phi chy web server. - Mt s tnh nng mi ca Razor: C php @model xc nh cc loi s c truyn vo view. @**@ l c php comment. Kh nng nh r mc nh (nh layoutpage) mt ln cho ton b trang web. Phng thc Html.Raw hin th cc vn bn m khng cn m ha Html cho n. H tr chia s m gia nhiu views (_viewstart.cshtml hay _viewstart.vbhtml).

- Razor cng bao gm nhng cng c h tr HTML mi, chng hn nh: Chart biu din mt biu , cung cp cc tnh nng nh control chart trong ASP.NET 4. WebGrid biu din mt li d liu (data grid), hon chnh vi chc nng phn trang v phn loi. Crypto S dng cc thut ton bm (hashing algorithms) to thuc tnh thng tho v bm cc mt khu. WebImage biu din mt hnh nh.

WebMail gi tin nhn email.

2. H tr a View Engines (Support for Multiple View Engines):


Thm hp thoi View trong ASP.NET MVC 3 cho php bn chn cc view engine m bn mun lm vic vi n, v hp thoi New Project cho php bn xc nh view engine mc nh cho mt project. Bn c th chn view engine Web Forms (ASPX), Razor, hay mt view engine ngun m nh Spark, NHaml, hay NDjango.

3.1 Global Action Filters i khi bn mun thc hin mt logic hoc trc khi mt phng thc thc hin hoc sau mt mt phng thc hnh ng c thc hin. h tr iu ny, ASP.NET MVC 2 cung cp b lc hnh ng (Action Filters). Action Filter l cc thuc tnh ty chnh cung cp khai bo mt phng tin thm trc hnh ng v sau hnh ng mt hnh vi xc nh phng thc controller hnh ng c th. MVC 3 cho php bnaj ch nh cc b lc chung bng cch thm chng vo b su tp GlobalFilters.

3.2 Thuc tnh mi ViewBag MVC 2 h tr iu iu khin mt thuc tnh ViewData cho php bn chuyn d liu n mt view template bng cch s dng mt API. Trong MVC 3, bn c th s dng c php n gin hn mt cht vi thuc tnh ViewBag thc hin cng mt mc ch trn. V d, thay v vit ViewData[Message] = text, bn c th vit ViewBag.Message = text. Bn khng cn phi xc nh lp mnh bt k s dng thuc tnh ViewBag. Bi v n l mt thuc tnh nng ng (dynamic property), bn c th thay v ch nhn hay thit lp cc thuc tnh v n s gii quyt cc vn cn li t ng khi chy. Bn trong thuc tnh ViewBag c lu tr nh cp name/value trong t in ViewData. (Lu : trong hu ht cc phin bn trc ca MVC3, thuc tnh ViewBag c tn l ViewModel).

3.3 Cc kiu ActionResult mi: Di y l cc kiu ActionResult v phng php tr gip mi v nng cao trong MVC 3: HttpNotFoundResult . Tr v trng thi m HTTP 404 cho khch hng. RedirectResult . Tr v mt chuyn hng tm thi (m trng thi HTTP 302) hoc mt chuyn hng vnh vin (m trng thi HTTP 301), ph thuc vo mt tham s Boolean. Kt hp vi thay i ny, cc lp control hin nay c ba phng php thc hin thng xuyn i hng: RedirectPermanent , RedirectToRoutePermanent , v RedirectToActionPermanent . Nhng phng php ny tr v mt d liu ca RedirectResult vi Permanent s hu thit lp ng . HttpStatusCodeResult . Tr v mt m trng thi ngi dng c xc nh.

4. JavaScript v Ajax Theo mc nh, Ajax v cc cng c h tr hp l trong MVC 3 s dng mt cch tip cn unobtrusive JavaScript. Unobtrusive JavaScript ni tuyn trnh tim tn hiu t JavaScript vo HTML. iu ny lm cho HTML ca bn nh hn v t ln xn hn, v lm cho n chuyn i ra ngoi d dng hn hay ty chnh cc th vin JavaScript. Validation helpers trong MVC 3 cng s dng plugin jQueryValidate theo mc nh.

Tn: L Tn Ti

Email: letantai56@gmail.com
in thoi: 0909671402

Cm n qu v xem slide. Chc mt ngy tt lnh.

Anda mungkin juga menyukai