Výukový program MVC Framework pro začátečníky: Co je, Architecture & Příklad

Co je MVC Framework?

Jedno Model-View-Controller (MVC) framework je architektonický vzor, ​​který rozděluje aplikaci na tři hlavní logické komponenty Model, View a Controller. Odtud zkratka MVC. Každá komponenta architektury je vytvořena tak, aby zvládla specifický vývojový aspekt aplikace. MVC odděluje od sebe obchodní logiku a prezentační vrstvu. Tradičně se používal pro desktopová grafická uživatelská rozhraní (GUI). V současné době se architektura MVC ve webové technologii stala populární pro navrhování webových aplikací i mobilních aplikací.

Historie MVC

  • Architektura MVC byla poprvé diskutována v roce 1979 Trygve Reenskaugem
  • Model MVC byl poprvé představen v roce 1987 v programovacím jazyce Smalltalk.
  • MVC byl poprvé přijat jako obecný koncept v článku z roku 1988
  • V poslední době je vzor MVC široce používán v moderních webových aplikacích

Vlastnosti MVC

  • Snadná testovatelnost bez tření. Vysoce testovatelný, rozšiřitelný a připojitelný rámec
  • Chcete-li navrhnout architekturu webové aplikace pomocí vzoru MVC, nabízí plnou kontrolu nad vaším HTML a také vašimi URL
  • Využijte stávající funkce poskytované ASP.NET, JSP, Django atd.
  • Jasné oddělení logiky: Model, View, Controller. Oddělení aplikačních úkolů viz. obchodní logika, logika Ul a vstupní logika
  • Směrování URL pro adresy URL přátelské k SEO. Výkonné mapování URL pro srozumitelné a prohledávatelné adresy URL
  • Podporuje vývoj řízený testem (TDD)

MVC Architecture

Zde je podrobná architektura rámce MVC:

MVC Architecture
MVC Architecture Diagram

Tři důležité komponenty MVC jsou:

  • Model: Obsahuje všechna data a související logiku
  • Zobrazit: Prezentuje data uživateli nebo obsluhuje interakci uživatele
  • Controller: Rozhraní mezi komponentami Model a View

Podívejme se na tuto součást podrobně:

Zobrazit

Pohled je ta část aplikace, která představuje prezentaci dat.

Pohledy jsou vytvářeny daty shromážděnými z dat modelu. Pohled požaduje, aby model poskytl informace, aby mohl uživateli předložit výstupní prezentaci.

Pohled také představuje data z grafů, diagramů a tabulek. Například každé zobrazení zákazníka bude zahrnovat všechny komponenty uživatelského rozhraní, jako jsou textová pole, rozevírací seznamy atd.

kontrolor

Řadič je ta část aplikace, která zpracovává interakci uživatele. Ovladač interpretuje vstupy z myši a klávesnice od uživatele a podle potřeby informuje o modelu a pohledu.

Řídicí jednotka odesílá příkazy modelu k aktualizaci jeho stavu (např. uložení konkrétního dokumentu). Ovladač také odesílá příkazy do přidruženého pohledu, aby změnil prezentaci pohledu (například posouvání určitého dokumentu).

Model

Komponenta modelu ukládá data a související logiku. Představuje data, která jsou přenášena mezi komponentami ovladače nebo jakoukoli jinou související obchodní logikou. Například objekt Controller získá informace o zákazníkovi z databáze. Manipuluje s daty a odesílá je zpět do databáze nebo je používá k vykreslení stejných dat.

Reaguje na požadavek z pohledů a také reaguje na pokyny z ovladače, aby se sám aktualizoval. Je to také nejnižší úroveň vzoru, která je zodpovědná za udržování dat.

Příklady MVC

Podívejme se na příklad Model View Controller z každodenního života:

Příklad 1

Příklady MVC

  • Předpokládejme, že jdete do restaurace. Nebudete chodit do kuchyně a připravovat jídlo, které jistě zvládnete i u vás doma. Místo toho tam jdete a čekáte, až přijde číšník.
  • Nyní k vám přijde číšník a vy si objednáte jídlo. Číšník neví, kdo jste a co chcete, jen zapsal detail vaší objednávky jídla.
  • Poté se číšník přesune do kuchyně. V kuchyni vám číšník jídlo nepřipravuje.
  • Kuchař vám připraví jídlo. Číšník mu předá vaši objednávku spolu s číslem vašeho stolu.
  • Vařte a pak pro vás připravil jídlo. K vaření používá suroviny. Předpokládejme, že si objednáte zeleninový sendvič. Pak potřebuje chléb, rajče, brambory, kapie, cibuli, kousek, sýr atd., které získává z lednice
  • Uvařte poslední jídlo předejte číšníkovi. Nyní je úkolem číšníka přesunout toto jídlo mimo kuchyni.
  • Nyní číšník ví, jaké jídlo jste si objednali a jak se podává.

V tomto příkladu architektury MVC

View= You
Waiter= Controller
Cook= Model
Refrigerator= Data

Podívejme se na další příklad modelu MVC,

Příklad 2

Příklady MVC

Mechanismus pohonu automobilu je dalším příkladem modelu MVC.

  • Každé auto se skládá ze tří hlavních částí.
  • Pohled = Uživatelské rozhraní: (Řadicí páka, panely, volant, brzda atd.)
  • Ovladač - Mechanismus (motor)
  • Model – Skladování (nádrž na benzín nebo naftu)

Auto běží z motoru a bere palivo ze skladu, ale jezdí pouze pomocí zmíněných zařízení uživatelského rozhraní.

Populární webové rámce MVC

Zde je seznam některých populárních MVC frameworků:

Výhody MVC: Klíčové výhody

Zde jsou hlavní výhody použití architektury MVC:

  • Snadná údržba kódu, který lze snadno rozšiřovat a rozšiřovat
  • Komponentu MVC Model lze testovat odděleně od uživatele
  • Snazší podpora pro nové typy klientů
  • Vývoj různých komponent lze provádět paralelně.
  • Pomůže vám vyhnout se složitosti rozdělením aplikace do tří jednotek. Model, pohled a ovladač
  • Používá pouze vzor předního ovladače, který zpracovává požadavky webových aplikací prostřednictvím jediného ovladače.
  • Nabízí nejlepší podporu pro testem řízený vývoj
  • Funguje dobře pro webové aplikace, které jsou podporovány velkými týmy webových designérů a vývojářů.
  • Poskytuje čisté oddělení obav (SoC).
  • Optimalizace pro vyhledávače (SEO) Friendly.
  • Všechny třídy a objekty jsou na sobě nezávislé, takže je můžete testovat samostatně.
  • Návrhový vzor MVC umožňuje logické seskupování souvisejících akcí na ovladači dohromady.

Nevýhody použití MVC

  • Tento model je obtížné číst, měnit, testovat jednotky a znovu používat
  • Navigace v rámci může být časově složitá, protože zavádí nové vrstvy abstrakce, což vyžaduje, aby se uživatelé přizpůsobili kritériím rozkladu MVC.
  • Žádná formální podpora ověřování
  • Zvýšená složitost a neefektivnost dat
  • Obtížnost používání MVC s moderním uživatelským rozhraním
  • Pro paralelní programování je potřeba více programátorů.
  • Je nutná znalost více technologií.
  • Údržba mnoha kódů v Controlleru

3-vrstva Architecture vs. MVC Architecture

Parametr 3-vrstva Architecture MVC Architecture
Komunikace Tento typ vzoru architektury nikdy nekomunikuje přímo s datovou vrstvou. Všechny vrstvy komunikují přímo pomocí trojúhelníkové topologie.
Používání 3vrstvé: široce používané ve webových aplikacích, kde klient, datové vrstvy a middleware běží na fyzicky oddělených platformách. Obecně se používá v aplikacích, které běží na jedné grafické pracovní stanici.

Shrnutí

  • MVC je architektonický vzor, ​​který rozděluje aplikaci na 1) model, 2) pohled a 3) kontrolér
  • Model: Obsahuje všechna data a související logiku
  • Zobrazit: Prezentuje data uživateli nebo obsluhuje interakci uživatele
  • Controller: Rozhraní mezi komponentami Model a View
  • Architektura MVC byla poprvé diskutována v roce 1979 Trygve Reenskaugem
  • Architektura MVC v Java je vysoce testovatelný, rozšiřitelný a připojitelný framework
  • Některé populární rámce MVC jsou Rails, Zend Framework, CodeIgniter, Laravel, Fuel PHP atd.