Jemný úvod do teorie ASP.NET MVC
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Jemný úvod do teorie ASP.NET MVCJemný úvod do teorie ASP.NET MVC

 

Jemný úvod do teorie ASP.NET MVC

Google       Google       3. 8. 2009       22 628×

ASP.NET MVC je poměrně mladá technologie se spoustou zajímavých schopností a rozhodně slibnou budoucností. Podívejme se tedy dnes spolu stručně na teorii architektury MVC, kterou si v nadcházejících článcích vyzkoušíme v praxi.

Reklama
Reklama

Architektura Model-View-Controller (zkráceně MVC) rozděluje aplikaci do tří hlavních dílů: model (datový model), view (pohled – uživatelské rozhraní) a controller (kontrolér, řadič – řídící logika). Základní myšlenka je ta, že všechny tyto tři díly, často označované jako komponenty, jsou na sobě v maximální možné míře nezávislé, změny provedené v jedné komponentě tedy neovlivní zbylé dvě komponenty. Více detailů o architektuře MVC najdete například na české Wikipedii.

ASP.NET MVC slouží jako alternativa k dobře známým ASP.NET WebForms (v žádném případě se je nesnaží nahradit), stejně jako klasické WebForms spolupracuje tato technologie se stávajícími vlastnostmi ASP.NET, jmenujme třeba master pages, uživatelské role, sessions a další. Celý MVC framework najdeme v namespace System.Web.Mvc.

Pojďme si teď probrat trochu podrobněji jednotlivé komponenty.

Model

Model slouží k práci s daty, která aplikace používá. Stará se tedy například i o čtení a zápis z/do databáze, XML souborů a dalších.

View

View je komponenta, která zobrazuje uživatelské rozhraní, které je často vytvořeno na základě Modelu, který například načte tabulku zaměstnanců a View ji nějak zobrazí (skutečně jen zobrazí, o akce uživatele se už nestará).

Controller

Na cestě mezi komponentami Model a View stojí Controller – komponenta, která se stará o komunikaci s uživatelem, zachytávání událostí atp. Databázový dotaz probíhá tak, že ho od uživatele obdrží právě Controller, předá ho Modelu a teprve ten ho předá databázi.

Výhodou MVC je to, že usnadňuje vytváření aplikací tím, že vývojáři téměř „přikazuje“ kam má který kód dát. Kromě toho je jednodušší testování aplikací než třeba u standardních WebForms. Tam se totiž často dohromady míchá vzhled i práce s daty v jedné třídě. Napsat si například testovací třídu může být složitější, protože se jednoduše musíme zaobírat i tím, co nás zrovna příliš nezajímá. Do třetice tato architektura téměř svádí k paralelnímu vývoji. Díky nezávislosti jednotlivých komponent může jeden programátor pracovat na Modelu, druhý na Controlleru a tak dále.

Kdy použít MVC?

Před vytvořením nové aplikace je nutné se zamyslet, jestli skutečně použít MVC, anebo běžné WebForms. Jak už bylo řečeno, MVC nic nenahrazuje, je to jen další alternativa. Snad vám při rozhodování jakou použít technologii pomůže následujících pár bodů.

Výhody MVC

  • Usnadňuje správu aplikace rozdělením do tří komponent.
  • Nepoužívá View State, ani serverové ovládací prvky. Díky tomu je MVC framework ideální pro ty, kteří chtějí mít kompletní moc nad chováním aplikace.
  • Používá tzv. „Front Controller“, který zpracovává požadavky od aplikace pomocí jednoho dalšího Controlleru. Ten se dá využít pro vytvoření routovací infrastruktury (vytváření URL je v ASP.NET neskutečně pohodlné, sami uvidíte v dalších dílech).

Výhody WebForms

  • Disponuje systémem událostí (events), které jsou dostupné v desítkách, ne-li stovkách, serverových ovládacích prvků.
  • Používá tzv. „Page Controller“, který dává funkcionalitu individuálním stránkám.
  • Používá serverové ovládací prvky a View State, které mohou programování o hodně ulehčit.
  • Obecně se dá říct, že vývoj pomocí standardních WebForms je méně složitý, protože většina komponent spolu těsně spolupracuje a většinou vyžadují méně kódu než u MVC.

Kde ASP.NET MVC sehnat?

Možnosti jsou dvě - buďto ze stránek Microsoftu, anebo přes aplikaci Web Platform Installer, která slouží ke stahování i ostatních webových aplikací a frameworků (Silverlight, doplňky pro IIS, atd.).

To byl jen úvod, kouzlo ASP.NET MVC objevíte teprve, až ho použijete v praxi, což spolu hned příště uděláme u stavění kompletní aplikace určené k plánování setkání s přáteli. Nebude omezená jen na ukázky konceptů MVC frameworku jako takového, ale naučíme se i práci s databází, využijeme AJAX, LINQ to SQL a další technologie.

Zdroj: http://www.asp.net/learn/mvc/tutorial-01-cs.aspx

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Jakub KottnauerJakub studuje informatiku na FIT ČVUT, jeho oblíbenou platformou je .NET.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

Reklama
Reklama
Obrázek ke článku ICT PRO školení zaměřené nejenom na ICT

ICT PRO školení zaměřené nejenom na ICT

Dovolte, abychom se představili. Jsme zaměstnanci společnosti ICT Pro, profesionálové v oblasti poskytování komplexních ICT služeb. Neboli služeb spojených s informačními a komunikačními technologiemi, které dnes - ve 21. století - tvoří  nedílnou součást běžného provozu všech moderních firem.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý