Programovanie

Najlepšie postupy v ASP.Net MVC

Toto je ďalší príspevok zo série článkov o osvedčených postupoch. V tejto ukážeme najlepšie postupy, ktoré by ste mali dodržiavať pri práci s frameworkom ASP.Net MVC.

O čom je návrhový vzor MVC?

Najprv si urobme krátku prehliadku základov. O čom je návrhový vzor MVC (Model View Controller)? Prečo je to vlastne potrebné? Používateľské rozhranie často obsahuje veľa neprehľadného kódu, predovšetkým kvôli komplikovanej logike, ktorú musí zvládnuť. Prezentačné vzory sú navrhnuté predovšetkým s jedným cieľom: zmenšenie komplexného kódu v prezentačnej vrstve a zabezpečenie čistoty a spravovateľnosti kódu v používateľskom rozhraní.

Rámec MVC vám pomáha vytvárať aplikácie, ktoré sa dajú ľahšie testovať a udržiavať. Skladá sa z troch hlavných komponentov, a to Model (predstavuje dáta a obchodnú logiku aplikácie), Zobrazenie (predstavuje prezentačnú vrstvu) a Ovládač (obvykle predstavuje obchodnú logiku vašej aplikácie). Návrhový vzor MVC vám umožňuje izolovať obavy a uľahčuje testovanie a údržbu kódu vašej aplikácie.

Kontrolór

Mali by ste vymazať súbory s demo kódmi - súbor AccountController.cs, pretože by ste ich aj tak nepotrebovali. AccountController je vytvorený predvolene a nie je potrebný - stačí ho vymazať! Mali by ste tiež obmedziť prepojenie medzi vašimi radičmi a inými závislosťami, ako sú napríklad komponenty prístupu k dátam, bloky výnimiek a protokolovania atď. Radiče by ste mali byť čo najtenší a obsahovať oveľa menej kódu. V ideálnom prípade by ste mali iba delegovať tok riadenia na nejaký komponent obchodnej logiky vo vašej triede ovládačov. Radič v aplikácii ASP.Net MVC by mal byť izolovaný od vrstvy prístupu k údajom - radič je zodpovedný za vykreslenie príslušného zobrazenia za behu na základe určitej akcie.

Zbalenie a minimalizácia skriptu a súborov CSS

Mali by ste zoskupiť prostriedky, ktoré vaša aplikácia musí používať, ako sú súbory CSS, do jedného prostriedku na stiahnutie. Tento proces sa nazýva aj zoskupovanie. Mali by ste tiež minimalizovať skripty a súbory CSS, ktoré by ste použili na odstránenie nepotrebných znakov, komentárov a prázdnych znakov.

Nasledujúci úryvok kódu ilustruje, ako môžete vytvoriť objekt zväzku pre CSS, ktorý musí vaša aplikácia používať.

public static void RegisterBundles (

Balíky BundleCollection)

{

bundles.Add (nový StyleBundle ("~ / obsah / štýly")

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

"~ / Obsah / Štýly / .css"));

}

Nasledujúci kód ukazuje, ako môžete zoskupiť súbory skriptu, ktoré musíte použiť vo svojej aplikácii.

. Zahrnúť (

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

„~ / Obsah / Skripty / knockout-3.0.0.js“)

);

Všimnite si, ako sa trieda ScriptBundle používa na zoskupenie obsahu skriptu. Podobne sa trieda StyleBundle (ako je uvedené v predchádzajúcom príklade) používa na zoskupenie obsahu css, o ktorom sme hovorili skôr.

Mali by ste tiež vypnúť kontrolu trás, pokiaľ to nie je bezpodmienečne potrebné, aby ste vylúčili zbytočné režijné náklady spojené so spracovaním.

Názory

Pokiaľ je to možné, mali by ste používať zobrazenia so silným typom - odporúčam vám poslať POCO na zobrazenia vo vašej aplikácii ASP.Net MVC. Všetko spracovanie by ste mali robiť vo svojich radičoch, nie v pohľadoch - pohľady by mali byť štíhle a nemali by obsahovať žiadny kód obchodnej logiky. Mali by ste vo svojich pomocníkoch Html používať minimálne množstvo TagHelpers a mali by ste pamätať na to, že HtmlHelpers musíte používať, iba ak potrebujete podmienečné rozhodnutia týkajúce sa údajov prostredníctvom zobrazení. Ak je podľa vášho názoru potrebné podmienečné vyhlásenie, mali by ste ho presunúť do HtmlHelper. HtmlHelpers by nikdy nemali obsahovať kód, ktorý vyvoláva vrstvu prístupu k údajom, t. J. Mali by ste sa zdržať písania logiky prístupu k údajom vo vnútri HtmlHelpers. Kód JavaScript by ste nemali vkladať do svojho zobrazenia - rozdeľte ho do samostatných súborov skriptu.

Uložte dáta do medzipamäte

Na zlepšenie výkonu a odozvy vašej aplikácie môžete využiť ukladanie do pamäte cache. Ukladanie do pamäte cache je technika, ktorá umožňuje ukladať do pamäte pomerne zastarané údaje, aby sa znížila spotreba šírky pásma v sieti. Nasledujúci úryvok kódu ukazuje, ako môžete vo svojich ovládačoch používať ukladanie do pamäte cache.

public class Controller: Ovládač

{

[OutputCache (Duration = 3600,

VaryByParam = "žiadny")]

verejný index ActionResult ()

    {

    }

}

Mali by ste tiež ukladať do cache často navštevované stránky, ktoré obsahujú zdieľané údaje a nie je potrebné ich autorizovať. Nasledujúci úryvok kódu ilustruje, ako to môžete urobiť.

[OutputCache (Duration = 3600)]

verejný index ActionResult ()

{

return View ("Register", myDataObject);

}

Návrhový vzor MVC pomáha pri presadzovaní čistého oddelenia obáv medzi modelmi, pohľadmi a radičmi vo vašej aplikácii. To pomáha ľahkému testovaniu a údržbe vášho kódu. Diskutoval som o niekoľkých dôležitých bodoch, ktoré môžete vziať do úvahy pri práci s ASP.Net MVC na vytváranie aplikácií, ktoré sú vysoko výkonné, ľahšie sa testujú, udržiavajú a rozširujú. Viac o ASP.Net MVC sa budem venovať v nasledujúcich príspevkoch tu. Takže zostaňte naladení!

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