Programovanie

Nové funkcie v MVC 6

Vzor kontroléra zobrazenia modelu je jedným z najobľúbenejších návrhových vzorov, ktorý vám pomáha vytvárať aplikácie, ktoré sa dajú ľahšie testovať a udržiavať. Rámec Model View Controller (všeobecne známy ako MVC) podporuje ľahšiu testovateľnosť a opätovné použitie kódu. Rámec ASP.Net MVC je postavený na runtime ASP.Net a riadi sa návrhovým vzorom MVC. V tomto príspevku preskúmam návrhový vzor radiča Model View Controller a tiež predstavím prehľad nových funkcií v ASP.Net MVC 6.

Návrhový vzor Model View Controller, ako už názov napovedá, sa skladá z troch hlavných komponentov. Medzi ne patria:

  1. Model - toto je vrstva, ktorá predstavuje údaje aplikácie
  2. Zobraziť - predstavuje prezentáciu alebo vrstvu používateľského rozhrania
  3. Kontrolér - táto vrstva zvyčajne obsahuje obchodnú logiku vašej aplikácie

Dizajnový vzor radiča zobrazenia modelu vám umožňuje izolovať obavy a uľahčuje testovanie a údržbu kódu vašej aplikácie.

Posledná verzia tohto rámca je MVC 6. S MVC 6 bola závislosť na System.Web.dll eliminovaná - na rozdiel od System.Web.Mvc, ktorý ste používali v predchádzajúcich verziách, budete musieť zahrnúť menný priestor Microsoft.AspNet.Mvc rámca ASP.Net MVC. Závislosť na System.Web bola odstránená, pretože bola veľmi drahá - MVC 6 vám poskytuje oveľa štíhlejší rámec, rýchlejší čas spustenia a zníženú spotrebu zdrojov.

Rámec MVC 6 je navrhnutý pre cloud a je začlenený ako súčasť runtime ASP.Net 5 optimalizovaného pre cloud, ktorý by bol zase k dispozícii ako súčasť Visual Studio 2015. Výhodou rámca optimalizovaného pre cloud je, že môžete mať rôzne verzie CLR sú umiestnené vedľa seba pre rôzne webové stránky spustené v cloude. S ASP.Net 5 boli rámce MVC a Web API zjednotené do jedného programovacieho modelu. Takže MVC, Web API a runtime ASP.Net sú teraz zlúčené do jedného modelu zjednoteného programovania. MVC 6 je hostiteľský agnostik - okrem možnosti hostenia v službe IIS ho môže tiež hosťovať sám. MVC 6 tiež poskytuje podporu pre abstrakciu OWIN a obsahuje webové rozhranie API a webové stránky na elimináciu prekrývania týchto troch rámcov.

Vkladanie závislostí (tiež známe ako Inversion of Control) je vzor návrhu softvéru, ktorý sa používa na implementáciu voľne spojených, testovateľných a opakovane použiteľných objektov do vašej aplikácie. Môžete využiť rozhranie IServiceProvider na pridanie vlastného kontajnera na vkladanie závislostí. Toto rozhranie poskytuje úroveň abstrakcie nad skutočnou implementáciou kontajnera na vkladanie závislostí. Upozorňujeme, že máte predvolený kontajner na vkladanie závislostí, ale s obmedzenou funkčnosťou. Tento predvolený kontajner na vkladanie závislostí môžete použiť, ak potrebujete obmedzenú funkčnosť. Ak potrebujete pridanú funkčnosť, môžete si vytvoriť svoj vlastný kontajner na vkladanie závislostí a pomocou rozhrania IServiceProvider pridať vlastný kontajner na vkladanie závislostí, ktorý ste vytvorili.

Na rozdiel od svojich predchádzajúcich kolegov podporuje MVC 6 konfiguračný systém založený na prostredí - nasadenie aplikácií MVC 6 v cloude je teraz jednoduché. Keď vytvoríte nový projekt MVC 6 v Visual Studio, nová sada konfiguračných súborov, ktoré by ste sledovali, obsahuje nasledujúce:

  1. Config.json - zvyčajne by obsahoval konfiguráciu aplikácie
  2. Project.json - tento súbor obsahuje informácie o závislosti od projektu
  3. Startup.cs - tento súbor obsahuje triedu Startup, ktorá obsahuje metódu Configure
  4. Global.json - tento súbor obsahuje informácie o referenciách k projektu

Po vytvorení projektu MVC 6 v Visual Studio vyzerá súbor Startup.cs takto:

pomocou Microsoft.Owin;

pomocou Owina;

[zhromaždenie: OwinStartupAttribute (typeof (.Startup))]

menný priestor

{

verejná čiastočná trieda Spustenie

    {

public void Configuration (aplikácia IAppBuilder)

        {

        }

    }

}

Nasledujúci úryvok kódu ilustruje, ako vyzerá typická metóda Config triedy Startup.

public void Configure (aplikácia IApplicationBuilder)

    {   

var configuration = new Configuration (). AddJsonFile ("config.json"). AddEnvironmentVariables ();

    }

Poznamenajte si parameter IApplicationBuilder (tento parameter odovzdá hostiteľ pri spustení aplikácie) v metóde Configure. Vytvorí sa inštancia triedy Configuration a odovzdajú sa zdroje konfigurácie. Môžete mať ľubovoľný počet zdrojov konfigurácie - každý zdroj konfigurácie je priradený k poskytovateľovi hodnoty konfigurácie. Tento prístup umožňuje bezproblémový presun vašej aplikácie do cloudu, ak je to potrebné.

Môžete tiež použiť metódu ConfigureServices na pridanie služieb Entity Framework do kontajnera služieb. Nasledujúci úryvok kódu ukazuje, ako by vyzerala typická metóda ConfigureServices.

public void ConfigureServices (služby IServiceCollection)

        {

services.AddEntityFramework (). AddSqlServer (). AddDbContext ();

services.AddMvc ();

// Iný kód

        }

Informácie o trase môžete určiť aj pomocou metódy rozšírenia UseMvc, ako je uvedené v útržku kódu nižšie.

            {

trasy. MapRoute (

názov: "predvolené",

šablóna: "{controller} / {action} / {id}",

predvolené hodnoty: new {controller = "", action = "Index"});

Všimnite si, že AddEntityFramework () a AddMvc () sú rozširujúce metódy definované v rozhraní IServiceCollection.

Viac článkov o MVC 6 napíšem v mojich budúcich blogových príspevkoch tu. Takže zostaňte naladení!

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