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.
|