Concept: Hlavní výhody frameworku ASP.NET MVC
Tato směrnice shrnuje nejpodstatnější výhody frameworku ASP.NET MVC, díky kterým se platformě ASP.NET podařilo odstranit nedostatky WebForms a umožnilo jí konkurovat nejmodernějším technologiím, jako např. Rails.
Main Description

Využití MVC architektury

Interakce uživatele s MVC aplikací sleduje přirozený sled události. Na základě akce od uživatele aplikace mění svůj datový model a vrací mu aktualizovaný pohled. Následně se tento cyklus opakuje. Tato skutečnost dělá, vzhledem k povaze webových aplikací, z architektury MVC velice vhodnou volbu pro jejich vývoj (Freeman, 2013).

Webová aplikace je nutně tvořena několika technologiemi (např. databáze, HTML, spustitelný kód), obvykle rozdělených do několika vrstev. Tyto vrstvy do architektury MVC dobře zapadají a využívají jejích konceptů.

Rozšiřitelnost

Framework ASP.NET MVC je tvořen na sobě nezávislými komponentami, implementujícími rozhraní .NET. Tyto komponenty, mezi které patří např. směrovací systém či view engine, mohou být snadno nahrazené vlastní implementací. Obecně se pro každou komponentu nabízejí tři možnosti (Freeman, 2013):

  • využití výchozí implementace (mělo by být dostatečné pro většinu aplikací),
  • odvodit podtřídy výchozí implementace pro vyladění potřebného chování,
  • nahradit komponentu novou implementací daného rozhraní.

Testovatelnost

Vysokou míru testovatelnosti a udržovatelnosti aplikace zajišťuje už samotná architektura MVC, která odděluje různé aplikační funkčnosti do nezávislých částí. Framework ASP.NET MVC však navíc využívá komponentově orientovaného návrhu s důrazem na to, aby každá jeho oddělená část splňovala požadavky pro jednotkové testování a tzv. mock[1] nástroje (TechNet, 2016). Pro jednotkové testy je možné využívat buď přímo nástroje integrované ve vývojovém prostředí Visual Studio, nebo využít jiné, open-source nástroje, jako jsou např. NUnit či xUnit.

Kromě podpory jednotkových testů je framework uzpůsoben práci s nástroji pro automatizaci testování uživatelského rozhraní. Je možné psát testy simulující interakci uživatele, a to nezávisle na konkrétních HTML strukturách, či CSS třídách.

Ostatní

Mezi další výhody frameworku, které považuji za důležité zmínit, patří jeho směrovací systém. Díky němu je snadné tvořit čisté a srozumitelné URL adresy, které neodkazují přímo na soubory na disku a jsou tak nezávislé na své implementaci. Mimo jiné jsou i lépe podporovány vyhledávacími systémy.

Jak již bylo řečeno, framework ASP.NET MVC je open-source, což znamená, že je možné stáhnout originální zdrojové kódy, modifikovat je a kompilovat. Jedinou výhodou však není možnost modifikace kódu, ale také lepší pochopení, jak jsou různé komponenty implementovány a jak fungují. Součástí zdrojových kódu jsou i původní komentáře od vývojářů.

Za velkou výhodu frameworku lze také považovat využití osvědčených komponent a možností vývoje samotné platformy ASP.NET. Díky tomu je umožněno psaní kódu v jakémkoli jazyce .NET, či využívání celého .NET ekosystému včetně knihoven třetích stran. Zároveň jsou v rámci ASP.NET již naimplementovány často využívané funkčnosti jako přihlašování, správa rolí, profilů, či podpora pro internacionalizaci (TechNet, 2016).

[1] Mock je nazýván objekt, využívaný při testování, který zastoupí některé skutečné třídy a umožní se tak v rámci testu soustředit plně na testovanou logiku.