Program Model-View-Controller MVC - co to je, funkce a popis

Program Model-View-Controller (MVC) vám umožňuje navrhnout, implementovat a otestovat každou část programu bez ohledu na jiné, udržovat kód organizovaný. Ukládání organizovaného kódu znamená, že můžete rychle najít to, co potřebujete ke kontrole, rychle opravit, upravovat a přidávat nové funkce. To také znamená efektivnější kód a nejlepší způsob, jak jej znovu použít pro rychlejší aplikace. Bez dobrého důvodu k použití nové struktury, technologie nebo trendu je pro mnoho vývojářů obtížné a především proto, že nemohou najít motivaci k prozkoumání nového tématu. Nejde však pouze o MVC, jejíž architektura je velmi důležitá, ale pro web je nutné použít metody MVC.


Hlavní typy funkčnosti architektury

Pravděpodobně jednou z největších výhod je, že mnoho vývojářů chápe a používá strukturu MVC k vytváření webových aplikací. Kvůli této soudržnosti se projektové řízení mezi několika vývojáři stává snazší. Většinou webová aplikace nebo část softwaru sleduje strukturu MVC. Pokud je struktura reprezentována třemi hlavními typy funkcí, pak je zřejmé, že jde o MVC:
  • Modelový kód obvykle představuje skutečné věci. Tento kód může obsahovat nesprávné údaje nebo identifikovat hlavní součásti programu. Například pokud uživatel vytvořil aplikaci Todo, kód modelu by určil, co "úkol" a co "seznam", protože to jsou hlavní součásti této aplikace.
  • Zobrazení nebo odeslání - revize kódu se skládá ze všech funkcí, které přímo komunikují s uživatelem. Jedná se o kód, který dělá aplikaci krásnou a jinak definuje, jakým způsobem se uživatel s ním setká.
  • Řadič působí jako vazba mezi modelem a prezentací tím, že přijme uživatelský vstup a rozhodne se, co s ním dělat. Je to mozek programu a spojuje model a prezentaci. Regulátor považuje střední úroveň ". Spolupracuje s uživatelem, shromažďuje data, kontaktuje model, získává potřebná data a poté jej odešle, aby reagovala na uživatele.
  • Když uživatel provádí nějakou akci, nejprve přejde do regulátoru. Bude přijmout veškerá data, například proměnné $ _GET, $ _POST v PHP, a určí, co s těmito daty dělat. Stručně řečeno, modely se týkají zpracování dat a rozšířené funkce. Proto je úkolem správce v tomto okamžiku určit, který model by měl být volán, a pak otevřít odpovídající funkci uvnitř tohoto modelu. Po vyvolání funkce najde výsledek, obvykle v proměnné prostředí.


    Model je jednoduchá myšlenka na to, co uživatel v aplikaci dělá. Model MVC je to, co musí být uvedeno v kódu, jako je uživatelská kniha, bankovní účet nebo něco jiného. Model je zodpovědný za ukládání funkcí a proměnných, které souvisejí s tím, co reprezentuje. Můžete myslet na logiku modelu jako na základní koncepci objektově orientovaného programování. Modely zde jsou jednoduše "třídy". Nenechte se zmást s třídami v řadičích, kteréTechnicky jsou také strukturovány jako třídy. Nakonec, poté, co řídící osoba požádá o informace o modelu, pošle její podání. Vzhled je podobný systému šablony programů a může existovat pro konkrétní typ rozvržení stránky, zobrazení pro mobilní zařízení nebo pro konkrétní téma. Pohled zobrazí všechny značky a CSS, které se tradičně používají při vytváření statické webové stránky.
    MVC je to, co uživatel vidí, když se k němu připojuje řadič. Řadič právě přesměruje uživatele na správný vzhled poté, co získal data z modelu a přesměroval tyto informace do odesílání. Návrhy pak odrážejí informace, které jim byly poskytnuty ve formátu, ve kterém jsou strukturovány.

    Struktura organizace kódu

    Skvělá idea MVC je, že každá část kódu má svůj vlastní cíl a tyto cíle jsou odlišné. Některé kódy obsahují data programu, někteří dělají příjemnou aplikaci a některé z nich ovládají funkčnost. Předpokládá se, že toto je MVC, program, který je schopen organizovat základní funkce kódu do svých, úhledně uspořádaných boxů. Struktura souborů pro použití MVC je poměrně jednoduchá - jsou zde jednoduše složky pro reprezentace, modely a řadiče a všechny jsou navzájem propojeny prostřednictvím jednoho adresáře. Samozřejmě, u jakékoliv webové aplikace bude mít uživatel také další složky a soubory, například indexový soubor a adresář pro obrázky.
    Níže je jednoduchá struktura adresářů MVC s několika příklady souborů. Každý vývojář může mít své vlastní jména, je důležité, aby o nich byly dohodnuty standardní dohody.Proto jsou soubory ve struktuře níže jen příklady.
    Struktura ASP.NET Core MVC je prostředí pro snadné odesílání. Různý otevřený zdroj. Je vysoce škálovatelný, optimalizovaný pro použití s ​​Asp Net Core MVC.

    MVC Architecture

    Sekce modelu definuje, jaké údaje by měla obsahovat aplikaci. Pokud se stav těchto dat změní, pak model zpravidla hlásí podání a někdy i řídicí jednotku, pokud je požadována jiná logika pro ovládání aktualizovaného zobrazení. Například u programu nákupního košíku model ukáže, která data by měla obsahovat položky v seznamu - položka, cena a další a které položky jsou již přítomné. Prezentace určuje, jak mají být data aplikací zobrazena. V seznamu doplňků bude zobrazení podrobností definováno jako seznam odeslaný uživateli a obdrží data pro zobrazení z modelu. Řadič obsahuje logiku, která aktualizuje model v reakci na uživatelský vstup aplikace. Například seznam nákupů může obsahovat vstupní formuláře a tlačítka, která umožňují přidat nebo odebrat položky. Tyto akce vyžadují aktualizaci modelu, takže vstup je odeslán do řadiče, který pak správně řídí model, odešle aktualizovaná data zobrazení. Můžete však také jednoduše aktualizovat prezentaci tak, aby zobrazovala data v jiném formátu, například pro změnu pořadí položek v abecedním pořadí nebo od nejnižších po nejvyšší cenu. V tomto případě je ovladač schopen zpracovat bez nutnosti aktualizace modelu.

    Modelová analogie v moderním světě

    MVC je způsob, jak pochopit, jak to fungujeWeb je velmi užitečné při plánování, protože dává uživateli pouze obecné znalosti o tom, jak jeho měla být uspořádána skutečný kód. Příklad případu aplikace. Tato aplikace umožní uživatelům vytvářet úkoly a organizovat je do seznamů. Model v aplikaci ToDo může stanovit, že „práce“ a co „seznam“ je soubor úkolů. Kód zobrazení určuje vzhled ToDo a seznamy vizuálně. Úkoly mohou být velké písma nebo mají určitou barvu. Nakonec může správce určit, jak uživatel přidá úkol nebo poznámky po dokončení. Regulátor se připojuje na tlačítko „Add“ v „modelu“, takže když uživatelé kliknou na „Přidat úkol“ modelu přidává novou úlohu.

    Jen o šablonu návrhu

    Uvádí MVC aplikace mohou být zobrazeny v kostce, na příklad adresáře. Model je seznam osobních objektů. Odesílání je okno grafického uživatelského rozhraní, které zobrazuje seznam lidí. Regulátor zpracovává operace, jako je „Odstranit adresu osoby“, „Přidat adresu osoby“, „Email muž.“
    Ve výše uvedeném příkladu třída Osoba o předložení neví nic. Okno zobrazení informuje správce o činnostech uživatele. Zbytečná složitost je součástí tohoto principu vývoje softwaru. Složitost vede k tomu, co je nákladné v provozu. Nejjednodušší způsob, jak snadno udělat kód, je odstranění zbytečných závislostí. Pak kód se stává méně zbytečné a jednodušší na údržbu, takže je lze znovu použít bez úprav.

    Hlavní závislosti prvků

    Jmenování regulátoru - odstraňte závislost na typu modelu. Správce projektu například vyžaduje, aby vývojář vytvořil nejen kontaktní okno, ale také, které zobrazuje všechny kontakty pouze na svých fotografiích. Fotografie by měly být v rozvržení tabulky, pět kusů na řádek. Pro MVC je tento úkol velmi jednoduchý. V současné době existují tři třídy:
  • Osoba.
  • PersonListController.
  • Seznam osob.
  • Je třeba vytvořit dvě třídy: PersonPhotoGridView a PersonPhotoGridController. Třída osoby zůstává stejná a snadno se vloží do dvou různých hledisek. Vývojář musí změnit třídu Osoba, aby umístil nový objekt PersonPhotoGridView a nakonec komplikuje model (příklad 3).
    Třída MVC Person může být reprezentována různými nástroji GUI bez jakýchkoliv změn. Jednoduše vytvořte ovladač a prezentaci pomocí nových nástrojů, stejně jako se starou sadou nástrojů. Kód může vypadat takto.
    V setPicture je tato metoda momentálně v podstatě špagetový kód. Šablona návrhu MVC vloží třídu řadiče mezi reprezentacemi a modelem pro odebrání závislosti modelu. Při odstraňování závislostí může být model a případně vzhled znovu použit bez změn. To usnadňuje zavedení nových funkcí a údržby. Uživatelé rychle získají stabilní software, společnost šetří peníze a vývojáři pracují za normálních podmínek.

    Princip práce

    Princip MVC má rozdělit aplikaci na 3Hlavní části známé jako model, zobrazení (zobrazení) a řadič. Viditelné na schématu jsou přímé asociace (červené šipky) a stažené asociace (modré šipky). Smazané sdružení jsou ty, které se mohou z pohledu uživatele zdát zřejmé a nejsou založeny na skutečném návrhu softwaru. Jednoduchý způsob splnění podmínky:
  • Uživatel interaguje s podáním - kliknutím na odkaz nebo odesláním formuláře.
  • Řadič zpracovává vstup uživatele a přenáší informace modelu.
  • Model obdrží informace a aktualizuje svůj stav, přidává data do databáze, například vypočítá dnešní datum.
  • Prohlížeč zkontroluje stav modelu a odpovídajícím způsobem odpovídá uvedením nedávno zadaných dat.
  • Pohled hledá další uživatelskou interakci.
  • Jedná se o jednoduchý koncept - Business Logic - výpočet logických procesů aplikace. Například obchodní logika jednoduchého kalendáře by měla vypočítat, jaký den, den v týdnu a každý den v měsíci, pokud chcete odeslat všechny dny tohoto měsíce. Nebo spustit webový obsah pomocí programu Spring MVC, který umožňuje vytvářet aplikaci se statickou domovskou stránkou, přijímá požadavky HTTP GET.

    Dodržování principu DRY

    Mnoho rámců MVC používá systém šablon, který zajišťuje dodržování principu DRY, což velmi usnadňuje opakované použití kódu bez nutnosti přepisu. Existují rámce MVC, které pracují na Smarty nebo používají vlastní mechanismus šablon. Jednoduché varování je, že některé balíčky šablonmají poměrně složitou syntaxi - programátoři muset zkontrolovat, než začnete cvičit. Předpokládá se, že MVC - to je další velmi dobrá implementace filosofie DRY (udělej to Repeat). Ve skutečnosti, Čištění pomocí Ruby on Rails a několik jiných implementacích, a tato myšlenka je, že programátor píše něco jednou a jednou použití kódu. DRY princip je definována jako „každé části by měly mít jeden, jednoznačný, směrodatný zastoupení v systému.“ Řádné provádění DRY znamená, že změna jednoho část systému nemění nesouvisející prvky zcela logické. Úmluva

    , na konfiguraci

    Tento design paradigma, které ve skutečnosti se snaží odstranit řadu rozhodnutí, která má developer musí udělat. Toho je dosaženo tím, že vytvoří strukturu smlouvy, které obvykle vyžadují všechny položky. Vývojáři potřebují pouze změnit to, co je skutečně potřeba. Je to docela jednoduché. Například, forma, která obsahuje prvky, které jsou vždy potřeba, a mají stejnou hodnotu. Vytvoří značku, která vymezuje opatření, název metody, id enctype. Například, pokud chcete něco změnit poměrně snadno získat název formuláře, identifikace a působení URL adres. Můžete také nastavit všechny metody odeslání formuláře, pokud není uvedeno jinak. Použijeme-li tuto myšlenku do všech prvků umožňuje vytváření tohoto typu programu je velmi rychlá, jednoduchá a přímočará. MVC - to je opravdu dobrý způsob, jak začít produkovat čistý, škálovatelné, výkonné a rychlé kód v kratším čase s minimálním úsilím. Některé struktury MVC neobsahuje všechny tyto funkce, většina z nich obsahují pouzejeden nebo dva

    Výhody a nevýhody metody

    Návrhová šablona MVC se používá při vývoji softwaru, jehož základní princip je založen na myšlence, že logika programu by měla být oddělena od jeho prezentace. Jednoduše řečeno, je to nejlepší způsob, jak oddělit logiku programu od displeje. Jako každá programovací metoda má své výhody a nevýhody. Výhody MVC:
  • Rychlý vývojový proces, podporuje rychlý a paralelní vývoj.
  • S programem MVC může jeden programátor pracovat na přehlídce a druhý může pracovat na řadiči, aby vytvořil obchodní logiku.
  • Aplikace vyvinutá s jeho aplikací je třikrát rychlejší než aplikace vyvinutá s dalšími vývojovými šablonami.
  • ​​
  • Schopnost poskytovat několik druhů.
  • V MVC můžete vytvořit více pohledů.
  • Duplicitní kopírování je velmi omezené, protože odděluje data a logiku od displeje.
  • Podpora pro asynchronní technologie, která pomáhá vývojářům rychle rozvíjet stahovatelnou aplikaci.
  • Tato úprava nemá vliv na celý model, protože část modelu nezávisí na části pohledu. Proto žádné změny v modelu nebudou mít vliv na celou architekturu.
  • Šablona .NET MVC vrací data bez použití jakéhokoli formátování, takže stejné komponenty mohou být použity a vyvolány pro použití s ​​libovolným rozhraním.
  • Díky této platformě je velmi snadné navrhnout adresy URL optimalizované pro optimalizaci URL, aby bylo možné získat více návštěv z konkrétní aplikace.
  • Nevýhody MVC:
  • Zvýšená složitost.
  • Neúčinný přístup k datům.
  • Složitost používání MVC s moderním uživatelským rozhraním.
  • Vyžaduje více programátorů.
  • Znalost několika technologií je nutná. Vývojář zná kód na straně klienta a html kód.
  • Vytvoření první aplikace

    Příklady MVC ASP.NET můžete rozvíjet s odpovídající verzí prostředí Visual Studio a .NET pomocí komunit MVC v522017 Community a platformy .NET 4.6. Jak spustit:
  • Otevřete Visual Studio 2017 a další: File - & gt; Vytvořit & gt; Projekt
  • Rozbalte vizuální C # a webový uzel na levé straně a potom vyberte střední MVC asp ve střední části.
  • Zadejte název projektu MyMVCApplication, můžete zadat libovolný vhodný název aplikace.
  • Umístěte projekt kliknutím na tlačítko "Review" a potom na "OK".
  • Okno Nová webová aplikace nalezne jádro asp MVC.
  • Změní autentizaci kliknutím na příslušné tlačítko.
  • Klepnutím na tlačítko OK povolíte MVC vytvořit projekt pomocí šablony.
  • První aplikace je připravena.
  • Spustit projekt v režimu ladění F5 nebo Ctrl + F5 bez ladění. Rámcový projekt MVC obsahuje výchozí soubory javascript a CSS bootstrap 3.0.
    Tímto způsobem můžete vytvářet citlivé webové stránky. Toto citlivé rozhraní změní svůj vzhled na základě velikosti obrazovky různých zařízení. Například horní lišta nabídek se změní na mobilních zařízeních. Takže je snadné vytvořit první základní MVC aplikaci s Visual Studio 2013. MVC je základem proProgramování a organizování programových souborů. Chcete-li určit představu o tom, jak má být kód uspořádán pro jeho funkci, vývojáři vytvoří složky pro každou část, která poskytuje výchozí bod pro překlad myšlenek do kódu a také usnadňuje návrat k kódu. Přemýšlení o tom, jak kód interaguje s jiným kódem, je důležitou součástí programování a učit se, jak spolupracovat s dalšími vývojáři, je důležitá dovednost. Vynaložením času na pochopení toho, jak aplikace vyhovuje struktuře MVC php, programátor zvyšuje své vývojářské dovednosti.

    Související publikace