Programování

Osvědčené postupy v ASP.Net MVC

Toto je další příspěvek ze série článků o osvědčených postupech. V tomto článku představím osvědčené postupy, které je třeba dodržovat při práci s frameworkem ASP.Net MVC.

O čem je návrhový vzor MVC?

Nejprve pojďme na krátkou prohlídku základů. O čem je návrhový vzor MVC (Model View Controller)? Proč je to vlastně potřeba? Uživatelské rozhraní často obsahuje spoustu přeplněného kódu, především kvůli komplikované logice, kterou potřebuje zvládnout. Prezentační vzory jsou navrženy především s ohledem na jeden cíl: zmenšení komplexního kódu v prezentační vrstvě a zajištění čistoty a správy kódu v uživatelském rozhraní.

Rámec MVC vám pomůže vytvářet aplikace, které se snáze testují a udržují. Skládá se ze tří hlavních komponent, jmenovitě Model (představuje data a obchodní logiku aplikace), Pohled (to představuje prezentační vrstvu) a Řadič (obvykle představuje obchodní logiku vaší aplikace). Návrhový vzor MVC umožňuje izolovat obavy a usnadňuje testování a údržbu kódu vaší aplikace.

Správce

Měli byste odstranit soubory demo kódu - soubor AccountController.cs, protože byste jej stejně nepotřebovali. AccountController je vytvořen ve výchozím nastavení a není nutný - stačí ho smazat! Měli byste také omezit propojení mezi vašimi řadiči a jinými závislostmi, jako je komponenta pro přístup k datům, výjimky a bloky protokolování atd. Řadiče by měly být co nejtenčí a obsahovat mnohem méně kódu. V ideálním případě byste měli pouze delegovat tok řízení na nějakou komponentu obchodní logiky uvnitř třídy kontroleru. Řadič v aplikaci ASP.Net MVC by měl být izolován od vrstvy přístupu k datům - řadič je zodpovědný za vykreslení příslušného pohledu za běhu na základě určité akce.

Seskupování a minifikace skriptu a souborů CSS

Měli byste seskupit prostředky, které vaše aplikace musí používat, jako soubory CSS, do jednoho zdroje ke stažení. Tento proces se také označuje jako sdružování. Měli byste také minifikovat skripty a soubory CSS, které byste použili k odstranění nepotřebných znaků, komentářů a znaků mezer.

Následující fragment kódu ukazuje, jak můžete vytvořit objekt svazku pro CSS, který vaše aplikace potřebuje použít.

public static void RegisterBundles (

BundleCollection svazky)

{

bundles.Add (nový StyleBundle ("~ / Content / Styles")

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

"~ / Obsah / Styly / .css"));

}

Následující kód ukazuje, jak můžete seskupit soubory skriptu, které potřebujete použít v aplikaci.

.Zahrnout(

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

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

);

Všimněte si, jak se třída ScriptBundle používá k seskupení obsahu skriptu. Podobně se StyleBundle třída (jak je ukázáno v dřívějším příkladu) používá k seskupení obsahu css, o kterém jsme hovořili dříve.

Měli byste také vypnout kontrolu tras, pokud to není nezbytně nutné, abyste vyloučili zbytečné režijní náklady spojené se zpracováním.

Pohledy

Všude, kde je to možné, byste měli používat zobrazení se silným typem - doporučil bych odeslat POCO do zobrazení ve vaší aplikaci ASP.Net MVC. Veškeré zpracování byste měli provádět ve svých řadičích, nikoli v pohledech - pohledy by měly být štíhlé a neměly by obsahovat žádný kód obchodní logiky. Ve svých Html pomocnících byste měli používat minimální množství TagHelpers a měli byste si pamatovat, že HtmlHelpers byste měli používat pouze v případě, že potřebujete podmíněná rozhodnutí o datech prostřednictvím pohledů. Pokud je ve vašem pohledu potřeba podmíněného příkazu, měli byste jej přesunout do HtmlHelper. HtmlHelpers by nikdy neměl obsahovat kód, který vyvolá vrstvu přístupu k datům, tj. Měli byste se zdržet psaní logiky přístupu k datům uvnitř HtmlHelpers. Neměli byste do svého pohledu vkládat kód JavaScript - rozdělte je do samostatných souborů skriptů.

Uložte data do mezipaměti

Chcete-li zlepšit výkon a citlivost vaší aplikace, můžete využít ukládání do mezipaměti. Ukládání do mezipaměti je technika, která umožňuje ukládat do paměti relativně zastaralá data, aby se snížila spotřeba šířky pásma sítě. Následující fragment kódu ukazuje, jak můžete používat ukládání do mezipaměti ve svých řadičích.

public class Controller: Controller

{

[OutputCache (doba trvání = 3600,

VaryByParam = "none")]

veřejný index ActionResult ()

    {

    }

}

Měli byste také ukládat do mezipaměti často navštěvované stránky, které obsahují sdílená data a není třeba je autorizovat. Následující fragment kódu ukazuje, jak to můžete udělat.

[OutputCache (doba trvání = 3600)]

veřejný index ActionResult ()

{

návrat View ("Index", myDataObject);

}

Návrhový vzor MVC pomáhá vynucení čistého oddělení obav mezi modely, pohledy a řadiči v rámci vaší aplikace. To pomáhá snadno otestovat a udržovat váš kód. Diskutoval jsem o několika důležitých bodech, které můžete vzít v úvahu při práci s ASP.Net MVC k vytváření aplikací, které jsou vysoce výkonné, snáze se testují, udržují a rozšiřují. Více o ASP.Net MVC budu diskutovat v následujících příspěvcích zde. Zůstaňte tedy naladěni!

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