Най-добри практики в ASP.Net MVC

Това е поредната публикация от поредицата статии за най-добрите практики. В тази ще ви представя най-добрите практики, които трябва да се следват по време на работа с ASP.Net MVC framework.

Какво представлява моделът на проектиране на MVC?

Първо, нека направим кратка обиколка на основите. Какво представлява дизайна на MVC (Model View Controller)? Защо е необходимо, така или иначе? Е, потребителският интерфейс често съдържа много разхвърлян код, главно поради сложната логика, с която трябва да се справи. Презентационните модели са проектирани предимно с една цел в ума: намаляване на сложния код в презентационния слой и правене на кода в потребителския интерфейс чист и управляем.

Рамката MVC ви помага да създавате приложения, които са по-лесни за тестване и поддръжка. Състои се от три основни компонента, а именно Моделът (представлява данните и бизнес логиката на приложението), Изгледът (това представлява презентационният слой) и Контролерът (това обикновено представлява бизнес логиката на вашето приложение). Шаблонът за проектиране на MVC ви позволява да изолирате проблемите и прави кода на приложението ви по-лесен за тестване и поддръжка.

Контролерът

Трябва да изтриете демо кодовите файлове - файла AccountController.cs, тъй като така или иначе няма да имате нужда от него. AccountController е създаден по подразбиране и не е необходим - просто го изтрийте! Трябва също така да намалите връзката между вашите контролери и други зависимости като компонент за достъп до данни, блокове за изключения и регистриране и т.н. Вашите контролери трябва да бъдат възможно най-тънки и да съдържат много по-малко код. В идеалния случай трябва просто да делегирате контролния поток на някакъв компонент на бизнес логиката във вашия клас на контролер. Контролерът в приложението ASP.Net MVC трябва да бъде изолиран от слоя за достъп до данни - контролерът е отговорен да направи подходящия изглед по време на изпълнение въз основа на определено действие.

Групиране и минимизиране на скрипта и CSS файловете

Трябва да групирате ресурси, които вашето приложение трябва да използва като CSS файлове, в един ресурс за изтегляне. Този процес е известен също като групиране. Трябва също така да минимизирате скриптовете и CSS файловете, които бихте използвали, за да премахнете ненужните символи, коментари и пробели.

Следният кодов фрагмент илюстрира как можете да създадете обект на пакет за CSS, което вашето приложение трябва да използва.

публична статична празнота RegisterBundles (

                       BundleCollection пакети)

{

   bundles.Add (нов StyleBundle ("~ / Content / Styles")

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

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

}

Следващият код показва как можете да групирате файловете със скриптове, които трябва да използвате във вашето приложение.

  .Включете (

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

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

);

Обърнете внимание как се използва класът ScriptBundle за групиране на съдържанието на скрипта. По същия начин класът StyleBundle (както е показано в предишния пример) се използва за групиране на css съдържанието, което обсъдихме по-рано.

Също така трябва да изключите проверката на маршрутите, освен ако това е абсолютно необходимо, за да се елиминират ненужните разходи за обработка.

Изгледи

Трябва да използвате силно типизирани изгледи, където е възможно - бих препоръчал да изпратите POCO до изгледите във вашето приложение ASP.Net MVC. Трябва да извършвате цялата обработка във вашите контролери, а не в изгледите - изгледите трябва да са постни и да не съдържат никакъв бизнес логически код. Трябва да използвате минимално количество TagHelpers във вашите Html помощници и не забравяйте да използвате HtmlHelpers само когато имате нужда от условни решения, които да се вземат за данните чрез изгледите. Ако има нужда от условен израз във вашия изглед, трябва да го преместите в HtmlHelper. HtmlHelpers никога не трябва да съдържа код, който извиква слоя за достъп до данни, т.е. трябва да се въздържате от писане на логика за достъп до данни вътре в HtmlHelpers. Не трябва да поставяте JavaScript код във вашия изглед - разделете ги в отделни файлове със скриптове.

Кеширайте данните си

За да подобрите производителността и отзивчивостта на приложението си, можете да се възползвате от кеширането. Кеширането е техника, която ви позволява да съхранявате относително остарели данни в паметта, така че да намалите консумацията на честотна лента на мрежата. Следният кодов фрагмент показва как можете да използвате кеширане във вашите контролери.

публичен клас Controller: Controller

{

    [OutputCache (Продължителност = 3600,

VaryByParam = "няма")]

    индекс на публичен ActionResult ()

    {

    }

}

Също така трябва да кеширате често достъпвани страници, които съдържат споделени данни и не е необходимо да бъдат упълномощени. Следният кодов фрагмент илюстрира как можете да направите това.

[OutputCache (Продължителност = 3600)]

индекс на публичен ActionResult ()

{

  return View ("Index", myDataObject);

}

Шаблонът за проектиране на MVC помага за чистото разделяне на проблемите между моделите, изгледите и контролерите във вашето приложение. Това помага на вашия код да бъде лесно тестван и поддържан. Обсъдих някои важни моменти, които можете да вземете предвид, когато работите с ASP.Net MVC за изграждане на приложения с висока производителност, по-лесни за тестване, поддръжка и мащабиране. Ще обсъдя повече за ASP.Net MVC в следващите публикации тук. Така че, следете!