Výukový program ASP.NET MVC pro začátečníky: Co je, Architecture
⚡ Chytré shrnutí
ASP.NET MVC je open source Microsoft Framework, který rozděluje webovou aplikaci na vrstvy Model, View a Controller, což vývojářům poskytuje plnou kontrolu nad HTML, testovatelný kód, čisté směrování a odlehčenou alternativu ke klasickým webovým formulářům.
Co je ASP.NET MVC?
ASP.NET MVC je open source webový vývojový rámec od Microsoft která poskytuje architekturu Model View Controller. ASP.NET MVC nabízí alternativu k webovým formulářům ASP.NET pro tvorbu webových aplikací. Je součástí platformy .NET pro tvorbu, nasazování a spouštění webových aplikací. Webové aplikace a webové stránky můžete vyvíjet pomocí HTML, CSS, jQuery, JavaSkript atd.
Naučte se MVC s tímto výukovým programem ASP.NET MVC, který pokrývá všechny základní koncepty MVC pro začátečníky:
Proč ASP.NET MVC?
Přestože webové formuláře byly velmi úspěšné, Microsoft myšlenka na vývojping ASP.NET MVC. Hlavním problémem webových formulářů v ASP.NET je výkon.
V webové aplikace, existují čtyři hlavní aspekty, které definují výkon:-
- Problémy s dobou odezvy
- Problém testování jednotek
- HTML přizpůsobení
- Znovupoužitelnost třídy code-behind
ASP.NET MVC vyniká ve výše uvedených parametrech.
Historie verzí MVC
ASP.NET MVC1
- Vydáno 13. března 2009
- Běží na .NET 3.5
- Visual Studio 2008
- Architektura vzorů MVC s WebForm Engine
- Mezi hlavní funkce patří Html a Testování jednotek, Pomocníci Ajaxu, Směrování atd.
ASP.NET MVC2
- Tato verze byla vydána 10. března 2010
- Běží na .NET 3.5, 4.0 a s dalšími verzemi Microsoft Visual Studio 2008
- Zahrňte funkce jako šablonované pomocníky, pomocníky uživatelského rozhraní s automatickým scaffoldingem a přizpůsobitelné šablony
- Podporuje DataAnnotations Attributes pro použití ověření modelu na straně klienta a serveru
ASP.NET MVC3
- Vyšlo 13. ledna 2011
- Běží na .NET 4.0, XNUMX a s Microsoft Visual Studio 2010
- Použití NuGet dodávat software a umožňuje vám spravovat závislosti napříč platformou
- Lepší JavaPodpora skriptů s validací jQuery a vazbou JSON
- Nabízí funkce, jako je zobrazovací engine Razor a vylepšené atributy datových anotací pro validaci modelu na straně klienta i serveru.
ASP.NET MVC4
- Tato verze byla vydána v srpnu 2012
- Běží na .NET 4.0, 4.5 a s Visual Studio 2010 a Visual Studio 2012
- Vylepšení výchozích šablon projektů
- Nabízí funkce, jako je šablona mobilního projektu pomocí jQuery Mobile, podpora úloh pro asynchronní řadiče, sdružování, minifikace atd.
ASP.NET MVC5
- Vyšlo 17. října 2013
- Běží na .NET 4.5, 4.5.1 a s Visual Studiem 2012 a Visual Studiem 2013
- Podporuje směrování atributů v MVC
Vlastnosti MVC
- Snadná testovatelnost bez tření
- Plná kontrola nad vaším HTML, JavaSkript a URLs
- Pákový efekt existující ASP.NET Funkce
- Nová možnost prezentace pro ASP.NET
- Jednodušší způsob programování v ASP.NET
- Jasné oddělení logiky: Model, View, Controller
- Testem řízený vývoj
- Podpora paralelního vývoje
Na co si pamatovat při vytváření aplikace MVC
Zde je několik užitečných věcí v tomto tutoriálu ASP.NET MVC, které si musíte zapamatovat při vytváření aplikace MVC:
- Musíte si uvědomit, že ASP.NET MVC NENÍ náhradou aplikací založených na webových formulářích ASP.NET.
- Přístup k vývoji MVC aplikací musí být určen na základě požadavků aplikace a funkcí poskytovaných ASP.NET MVC, aby vyhovoval specifickým potřebám vývoje.
- Proces vývoje aplikací s ASP.NET MVC je složitější ve srovnání s aplikacemi založenými na webových formulářích.
- Udržitelnost aplikací je vždy vyšší s oddělením aplikačních úloh.
Architektonický vzor MVC
MVC je softwarová architektura, která se řídí metodou oddělení zájmů. V tomto modelu jsou .NET aplikace rozděleny do tří vzájemně propojených částí, které se nazývají Model, View a Controller.
Cílem vzoru MVC je, aby každá z těchto částí mohla být vyvinuta, testována v relativní izolaci a také kombinována za účelem vytvoření velmi robustní aplikace.
Pojďme se na ně všechny podívat podrobněji:
modely
Objekty modelu jsou části aplikace, které implementují logiku aplikace datová doména. Načítá a ukládá stav modelu do databáze. Objekt produktu může například získat informace z a databáze, operujte na něm. Poté zapište informace zpět do tabulky produktů na serveru SQL.
Zobrazení
Zobrazení (views) jsou komponenty, které se používají k zobrazení uživatelského rozhraní (UI) aplikace, v MVC nazývaného také viewmodel. Zobrazuje .NET MVC aplikaci, která je vytvořena z dat modelu.
Běžným příkladem by bylo zobrazení pro úpravy tabulky položek. Zobrazuje textová pole, vyskakovací okna a zaškrtávací políčka podle aktuálního stavu produktů a objektů.
kontrolor
Kontroléry zpracovávají interakci s uživatelem, pracují s modelem a vybírají zobrazení pro vykreslení daného uživatelského rozhraní. V aplikaci .NET MVC zobrazení pouze zobrazuje informace, kontroler spravuje a reaguje na vstupy a interakci uživatele pomocí filtrů akcí v MVC.
Řadič například spravuje hodnoty řetězce dotazů a předává tyto hodnoty modelu.
Webové formuláře vs. MVC
| parametry | WebFormuláře | MVC |
|---|---|---|
| Model | Webové formuláře ASP.NET sledují model vývoje řízeného událostmi. | ASP.NET MVC používá vývojový model založený na vzorech MVC. |
| Používaný od | Existuje od roku 2002 | Poprvé byla vydána v roce 2009 |
| Podpora pro zobrazení stavu | Webový formulář ASP.NET podporuje zobrazení stavu pro správu stavu na straně klienta. | .NET MVC nepodporuje stav zobrazení. |
| URL typ | Webový formulář ASP.NET je založen na souborech URLs. To znamená, že název souboru existuje v URLa musí fyzicky existovat. | ASP.NET MVC je založen na trasách URLto znamená URLkteré jsou přesměrovány na controllery a akce. |
| Syntax | Webové formuláře ASP.NET dodržují syntaxi webových formulářů. | ASP.NET MVC se řídí přizpůsobitelnou syntaxí. |
| Typ zobrazení | Webový formulář, zobrazení jsou úzce propojeny s Code za (ASPX-CS), tj. logika. | MVC, pohledy a logika jsou vždy uchovávány odděleně. |
| Konzistentní vzhled a dojem | Má vzorové stránky pro konzistentní vzhled. | ASP.NET MVC má rozvržení pro konzistentní vzhled. |
| Code Opakovatelnost | Webový formulář nabízí uživatelské ovládací prvky pro opětovné použití kódu. | ASP.NET MVC nabízí částečné zobrazení pro opětovné použití kódu. |
| Ovládání pro HTML | Less kontrolu nad vykresleným HTML. | Plná kontrola nad HTML |
| Řízení státu | Automatické řízení stavu ovládacích prvků. | Manuální správa stavu. |
| podpora TDD | Je vyžadováno slabé nebo vlastní TDD. | Podporuje a zahrnuje TDD. |
Výhody ASP.NET MVC
- Ve výchozím nastavení vysoce udržovatelné aplikace
- Umožňuje vám nahradit jakoukoli součást aplikace.
- Lepší podpora pro vývoj řízený testem
- Složité aplikace se snadno spravují díky rozdělení Model, View a Controllers.
- Nabízí robustní směrovací mechanismus s předním vzorem ovladače
- Nabízí lepší kontrolu nad chováním aplikace s eliminací stavu zobrazení a serverových formulářů
- Aplikace .NET MVC jsou podporovány velkými týmy vývojářů a webových designérů
- Nabízí větší kontrolu nad chováním aplikace. Používá také optimalizovanou šířku pásma pro požadavky na server
Nevýhody ASP.NET MVC
- Náhled stránky s návrhem nelze zobrazit jako stránku .aspx.
- Abyste viděli skutečný návrh, musíte program pokaždé spustit.
- Pochopení toku aplikace může být náročné
- Jeho implementace je poměrně komplikovaná, takže není ideální volbou pro aplikace na malé úrovni
- Je těžké se naučit MVC pro ASP.NET, protože to vyžaduje velké porozumění vzoru MVC
Nejlepší postupy při používání ASP.NET MVC
- V případě velkého a složitého kódu vytvořte pro MODEL samostatnou sestavu, abyste předešli nežádoucím situacím.
- Model by měl zahrnovat obchodní logiku, údržbu relace, validační část a datovou logiku.
- VIEW by nemělo obsahovat žádnou obchodní logiku a údržbu relací, pro přístup k datům v View použijte ViewData
- Obchodní logika a přístup k datům by se nikdy neměly vyskytovat v Controlleru.
- Správce by měl být odpovědný pouze za přípravu a vrácení pohledu, volání modelu, přesměrování na akci atd.
- Odstranění demo kódu z aplikace při jejím vytváření (Odstranit AccountController)
- K vytvoření značek HTML z vašeho zobrazení používejte pouze konkrétní zobrazovací modul, protože se jedná o kombinaci HTML a programovacího kódu.


