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.
- 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.
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