Programiranje

Najboljše prakse v ASP.Net MVC

To je še ena objava v seriji člankov o najboljših praksah. V tej bom predstavil najboljše prakse, ki jih je treba upoštevati pri delu z okoljem ASP.Net MVC.

Kaj sploh je oblikovalski vzorec MVC?

Najprej si oglejmo osnove. Kaj sploh je oblikovalski vzorec MVC (Model View Controller)? Zakaj je sploh potrebna? No, uporabniški vmesnik pogosto vsebuje veliko neredne kode, predvsem zaradi zapletene logike, ki jo mora obravnavati. Predstavitveni vzorci so zasnovani predvsem z enim ciljem v mislih: zmanjšanje zapletene kode v predstavitvenem sloju in izdelava kode v uporabniškem vmesniku čista in obvladljiva.

Okvir MVC vam pomaga pri izdelavi aplikacij, ki jih je lažje preizkusiti in vzdrževati. Sestavljen je iz treh glavnih komponent, in sicer Model (predstavlja podatke o aplikaciji in poslovno logiko), Pogled (predstavlja predstavitveni sloj) in Krmilnik (to običajno predstavlja poslovno logiko vaše aplikacije). Vzorec zasnove MVC vam omogoča, da izolirate pomisleke in olajša testiranje in vzdrževanje kode vaše aplikacije.

Krmilnik

Datoteke z demo kodo bi morali izbrisati - datoteko AccountController.cs, saj je tako ali tako ne bi potrebovali. AccountController je privzeto ustvarjen in ni potreben - preprosto ga izbrišite! Prav tako bi morali zmanjšati povezavo med krmilniki in drugimi odvisnostmi, kot so komponenta za dostop do podatkov, izjeme in dnevniški bloki itd. Krmilniki bi morali biti čim tanjši in vsebovati veliko manj kode. V idealnem primeru bi morali samo dodeliti nadzorni tok neki komponenti poslovne logike znotraj razreda krmilnika. Krmilnik v aplikaciji ASP.Net MVC mora biti izoliran od sloja dostopa do podatkov - krmilnik je odgovoren za upodobitev ustreznega pogleda med izvajanjem na podlagi določenega dejanja.

Združevanje in pomanjšanje skript in datotek CSS

Vire, ki jih mora vaša aplikacija uporabljati, kot so datoteke CSS, združite v en prenosljiv vir. Ta postopek je znan tudi kot združevanje. Zmanjšajte tudi skripte in datoteke CSS, s katerimi boste odstranili nepotrebne znake, komentarje in presledke.

Naslednji delček kode ponazarja, kako lahko ustvarite objekt svežnja za CSS, ki ga mora uporabljati vaša aplikacija.

javna statična void RegisterBundles (

Paketi BundleCollection)

{

bundles.Add (new StyleBundle ("~ / Content / Styles")

.Include ("~ / Content / Styles / bootstrap.css",

"~ / Content / Styles / .css"));

}

Naslednja koda prikazuje, kako lahko združite datoteke skriptov, ki jih želite uporabiti v svoji aplikaciji.

.Vključi (

"~ / Content / Scripts / -1.0.0.js",

"~ / Content / Scripts / knockout-3.0.0.js")

);

Upoštevajte, kako se razred ScriptBundle uporablja za združevanje vsebine skripta. Podobno se za združevanje vsebine css, o kateri smo že govorili, uporablja razred StyleBundle (kot je prikazano v prejšnjem primeru).

Izključite tudi preverjanje poti, razen če je to nujno potrebno, da se odpravijo nepotrebni režijski stroški obdelave.

Pogledi

Kadar je le mogoče, uporabite močno vtipkane poglede - priporočam pošiljanje POCO-jev v poglede v vaši aplikaciji ASP.Net MVC. Vso obdelavo morate izvajati v krmilnikih in ne v pogledih - pogledi morajo biti vitki in ne smejo vsebovati kode poslovne logike. V pomočnikih Html morate uporabiti minimalno količino TagHelpers in ne pozabite uporabljati HtmlHelpers samo, kadar potrebujete pogojne odločitve o podatkih skozi poglede. Če v vašem pogledu potrebujete pogojni stavek, ga premaknite v HtmlHelper. HtmlHelpers ne smejo vsebovati kode, ki prikliče plast dostopa do podatkov, torej ne bi smeli pisati logike dostopa do podatkov znotraj HtmlHelpers. V svoj pogled ne smete vstavljati kode JavaScript - ločite jih v ločene skriptne datoteke.

Predpomnite podatke

Za izboljšanje učinkovitosti in odzivnosti aplikacije lahko izkoristite predpomnjenje. Predpomnjenje je tehnika, ki vam omogoča, da shranite razmeroma zastarele podatke v pomnilnik, da zmanjšate porabo pasovne širine omrežja. Naslednji delček kode prikazuje, kako lahko uporabljate predpomnjenje v krmilnikih.

krmilnik javnega razreda: krmilnik

{

[OutputCache (trajanje = 3600,

VaryByParam = "none")]

indeks javnega ActionResult ()

    {

    }

}

Predpomnite tudi strani, do katerih pogosto dostopate, ki vsebujejo podatke v skupni rabi in jih ni treba pooblastiti. Naslednji delček kode prikazuje, kako to lahko storite.

[OutputCache (trajanje = 3600)]

indeks javnega ActionResult ()

{

return View ("Index", myDataObject);

}

Vzorec zasnove MVC pomaga pri izvrševanju jasnega ločevanja pomislekov med modeli, pogledi in krmilniki v vaši aplikaciji. To pomaga, da je kodo enostavno preizkusiti in vzdrževati. Razpravljal sem o nekaterih pomembnih točkah, ki jih lahko upoštevate pri delu z ASP.Net MVC za izdelavo visoko zmogljivih aplikacij, lažjih za testiranje, vzdrževanje in spreminjanje. Več o ASP.Net MVC bom razpravljal v naslednjih objavah tukaj. Torej, ostanite z nami!

$config[zx-auto] not found$config[zx-overlay] not found