Najbolji primjeri u ASP.Net MVC

Ovo je još jedan post o nizu članaka o najboljim praksama. U ovom ću predstaviti najbolje prakse kojih se treba pridržavati tijekom rada s ASP.Net MVC okvirom.

Što je uopće obrazac dizajna MVC?

Prvo, krenimo u kratki obilazak osnova. Što je uopće obrazac dizajna MVC (Model View Controller)? Zašto je to uopće potrebno? Pa, korisničko sučelje često sadrži puno pretrpanog koda prvenstveno zbog složene logike s kojom treba rukovati. Obrasci prezentacije dizajnirani su prvenstveno s jednim ciljem: smanjenje složenog koda u prezentacijskom sloju i stvaranje koda u korisničkom sučelju čistim i upravljivim.

MVC okvir pomaže vam u izradi aplikacija koje je lakše testirati i održavati. Sastoji se od tri glavne komponente, naime, Model (predstavlja podatke i poslovnu logiku aplikacije), Pogled (predstavlja prezentacijski sloj) i Kontrolor (to obično predstavlja poslovnu logiku vaše aplikacije). Uzorak dizajna MVC omogućuje vam izoliranje nedoumica i olakšava testiranje i održavanje koda vaše aplikacije.

Kontroler

Trebali biste izbrisati datoteke demo koda - datoteku AccountController.cs jer vam ionako ne bi trebale. AccountController stvoren je prema zadanim postavkama i nije potreban - samo ga izbrišite! Također biste trebali smanjiti spregu između svojih kontrolera i drugih ovisnosti poput komponente za pristup podacima, izuzetaka i blokova za bilježenje itd. Vi kontrolori trebali biste biti što tanji i sadržavati mnogo manje koda. U idealnom slučaju, trebali biste samo prenijeti kontrolni tok na neku komponentu poslovne logike unutar vaše klase kontrolera. Kontroler u aplikaciji ASP.Net MVC trebao bi biti izoliran od sloja pristupa podacima - kontroler je odgovoran za generiranje odgovarajućeg pogleda u vrijeme izvođenja na temelju određene radnje.

Spajanje i umanjenje skripte i CSS datoteka

Trebali biste grupirati resurse koje vaša aplikacija treba koristiti poput CSS datoteka u jedan resurs za preuzimanje. Taj je postupak poznat i kao grupiranje. Također biste trebali umanjiti skripte i CSS datoteke koje biste koristili za uklanjanje nepotrebnih znakova, komentara i praznih znakova.

Sljedeći isječak koda ilustrira kako možete stvoriti paketni objekt za CSS koji vaša aplikacija treba koristiti.

javna statička praznina RegisterBundles (

                       Paketi BundleCollection)

{

   bundles.Add (novi StyleBundle ("~ / Sadržaj / Stilovi")

       .Uključi ("~ / Content / Styles / bootstrap.css",

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

}

Sljedeći kod pokazuje kako možete grupirati datoteke skripti koje trebate koristiti u svojoj aplikaciji.

  .Uključi (

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

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

);

Imajte na umu kako se klasa ScriptBundle koristi za grupiranje sadržaja skripte. Slično tome, klasa StyleBundle (kao što je prikazano u ranijem primjeru) koristi se za grupiranje css sadržaja o kojem smo ranije razgovarali.

Također biste trebali isključiti provjeru ruta ako to nije prijeko potrebno kako bi se uklonili nepotrebni režijski troškovi obrade.

Pogledi

Trebali biste koristiti jako otkucane poglede gdje god je to moguće - preporučio bih slanje POCO-ova u poglede u vašoj ASP.Net MVC aplikaciji. Sve obrade trebali biste obavljati u kontrolerima, a ne u pogledima - prikazi bi trebali biti mršavi i ne bi trebali sadržavati bilo koji kôd poslovne logike. Trebali biste koristiti minimalnu količinu TagHelpersa u svojim Html pomagačima i ne zaboravite koristiti HtmlHelpers samo kada su vam potrebne uvjetne odluke o podacima putem pregleda. Ako je u vašem pogledu potrebna uvjetna izjava, trebali biste je premjestiti u HtmlHelper. HtmlHelpers nikada ne smiju sadržavati kôd koji poziva sloj pristupa podacima, tj. Trebali biste se suzdržati od pisanja logike pristupa podacima unutar HtmlHelpersa. Ne biste trebali stavljati JavaScript kôd u svoj prikaz - razdvojite ih u zasebne datoteke skripti.

Predmemorirajte svoje podatke

Da biste poboljšali izvedbu i odziv vaše aplikacije, možete iskoristiti predmemoriranje. Keširanje je tehnika koja vam omogućuje pohranu relativno ustajalih podataka u memoriju kako bi se smanjila potrošnja mrežne propusnosti. Sljedeći isječak koda pokazuje kako možete koristiti predmemoriranje u kontrolerima.

kontrolor javne klase: kontrolor

{

    [OutputCache (Trajanje = 3600,

VaryByParam = "none")]

    indeks javnog ActionResult ()

    {

    }

}

Također biste trebali predmemorirati stranice kojima se često pristupa, a koje sadrže dijeljene podatke i ne trebaju biti autorizirane. Sljedeći isječak koda ilustrira kako to možete učiniti.

[OutputCache (trajanje = 3600)]

indeks javnog ActionResult ()

{

  return View ("Index", myDataObject);

}

Uzorak dizajna MVC pomaže u provođenju čistog razdvajanja nedoumica između modela, pogleda i kontrolera u vašoj aplikaciji. To pomaže da se vaš kod lako testira i održava. Raspravljao sam o nekim važnim točkama koje možete uzeti u obzir prilikom rada s ASP.Net MVC za izgradnju visoko učinkovitih aplikacija, lakših za testiranje, održavanje i skaliranje. Više ću raspravljati o ASP.Net MVC u sljedećim postovima ovdje. Zato, pratite nas!