Program MVC Model-View-Controller - čo to je, vlastnosti a popis

Program Model-View-Controller (MVC) vám umožňuje navrhnúť, implementovať a otestovať každú časť programu bez ohľadu na to, či je organizovaný. Uloženie organizovaného kódu znamená, že môžete rýchlo nájsť to, čo musíte skontrolovať, rýchlo opraviť, upraviť a pridať nové funkcie. To tiež znamená efektívnejší kód a najlepší spôsob jeho opätovného použitia pre rýchlejšie aplikácie. Bez rozumného dôvodu na použitie novej štruktúry, technológie alebo trendu je pre mnohých vývojárov ťažké a predovšetkým preto, že nemôžu nájsť motiváciu na preskúmanie novej témy. Nie je to však len o MVC, ktorého architektúra je veľmi dôležitá, ale použitie MVC metód pre web je nevyhnutné.


Hlavné typy funkcií architektúry

Pravdepodobne jednou z najväčších výhod je, že mnohí vývojári rozumejú a používajú štruktúru MVC na vytváranie webových aplikácií. Kvôli tejto koherencii sa projektový manažment stáva ľahším medzi viacerými vývojármi. Väčšinou webová aplikácia alebo časť softvéru sleduje štruktúru MVC. Ak je štruktúra reprezentovaná tromi hlavnými typmi funkčnosti, potom je jasné, že ide o MVC:
  • Kód modelu zvyčajne predstavuje skutočné veci. Tento kód môže obsahovať nespracované údaje alebo identifikovať hlavné komponenty programu. Napríklad, ak používateľ vytvoril aplikáciu Todo, kód modelu by určil, čo "úloha" a čo "zoznam" je, pretože to sú hlavné súčasti tejto aplikácie.
  • Zobrazenie alebo odoslanie - revízia kódu pozostáva zo všetkých funkcií, ktoré priamo komunikujú s používateľom. Jedná sa o kód, ktorý robí aplikáciu krásnou a inak definuje, ako používateľ vidí a komunikuje s ním.
  • Riadiaci orgán pôsobí ako prepojenie medzi modelom a prezentáciou tým, že prijíma užívateľský vstup a rozhoduje, čo s ním má robiť. Je to mozog programu a spája model a prezentáciu. Regulátor považuje strednú úroveň. " Spolupracuje s používateľom, zhromažďuje údaje, kontaktuje model, získava potrebné údaje a potom ho odosiela, aby odpovedala na používateľa.
  • Keď používateľ vykoná nejakú akciu, najskôr prejde k ovládaču. Bude prijímať akékoľvek údaje, napríklad premenné $ _GET, $ _POST v PHP, a určiť, čo robiť s týmito dátami. Stručne povedané, modely sa týkajú spracovania údajov a rozšírenej funkčnosti. Preto je úlohou kontrolóra v tomto bode určiť, ktorý model by mal byť nazvaný, a potom otvoriť príslušnú funkciu vnútri tohto modelu. Po vyvolaní funkcie nájde výsledok, zvyčajne v premennej prostredia.


    Model je jednoduchá myšlienka toho, čo používateľ robí v aplikácii. Model MVC je to, čo musí byť uvedené v kóde, ako napríklad kniha používateľa, jeho bankový účet alebo niečo iné. Model je zodpovedný za ukladanie funkcií a premenných, ktoré súvisia s tým, čo reprezentuje. Môžete si predstaviť logiku modelu ako základnú koncepciu objektovo-orientovaného programovania. Modely tu sú jednoducho "triedy". Nenechajte sa zamieňať s triedami v riadiacich jednotkách, ktoréZ technického hľadiska sú tiež štruktúrované ako triedy. Nakoniec, po tom, ako kontrolór požiada o informácie z modelu, pošle svoju správu. Vzhľad je podobný systému šablón programov a môže existovať pre konkrétny typ rozloženia stránky, mobilného zobrazenia alebo pre konkrétnu tému. Zobrazenie zobrazí všetky označenia a CSS, ktoré sa tradične používajú pri vytváraní statickej webovej stránky.
    MVC je to, čo používateľ vidí, keď ho ovládač pristupuje. Regulátor presmeruje používateľa na správny vzhľad po tom, čo získal údaje z modelu a presmeroval tieto informácie na odoslanie. Príspevok potom odráža informácie, ktoré im boli poskytnuté, vo formáte, v ktorom sú štruktúrované.

    Štruktúra organizácie kódu

    Skvelá myšlienka MVC je, že každá časť kódu má svoj vlastný cieľ a tieto ciele sú odlišné. Niektoré kódy obsahujú údaje o programe, niektoré spôsobujú, že aplikácia je príjemná a niektoré z nich ovládajú funkčnosť. Predpokladá sa, že ide o program MVC, ktorý je schopný zorganizovať základné funkcie kódu do svojich úzko organizovaných krabičiek. Štruktúra súboru na použitie MVC je relatívne jednoduchá - štandardne existujú iba priečinky pre reprezentácie, modely a kontroléry a všetky sú prepojené prostredníctvom jedného adresára. Samozrejme, v akejkoľvek webovej aplikácii bude mať používateľ aj iné priečinky a súbory, ako napríklad indexový súbor a adresár obrázkov.
    Nižšie je uvedená jednoduchá štruktúra adresárov MVC s niekoľkými príkladmi súborov. Každý vývojár môže mať svoje vlastné mená, je dôležité, aby ste o nich dospeli k rozumnej štandardnej dohode.Súbory v nižšie uvedenej štruktúre sú preto iba príkladmi.
    ASP.NET Core MVC Structure je jednoduché prostredie na odosielanie. Rôzne open source. Je vysoko škálovateľný, optimalizovaný pre použitie s Asp Net Core MVC.

    MVC Architecture

    Sekcia modelu definuje, aké údaje by mali obsahovať aplikáciu. Ak sa stav týchto údajov zmení, potom model zvyčajne hlási podanie a niekedy aj kontrolóra, ak je potrebná iná logika na ovládanie aktualizovaného zobrazenia. Napríklad pri programe nákupného košíka model uvádza, ktoré údaje by mali obsahovať položky v zozname - položka, cena a iné a aké položky sú už prítomné. Prezentácia určuje, ako sa majú zobrazovať údaje aplikácie. V zozname doplnkov sa zobrazenie odoslania definuje ako zoznam odoslaný používateľovi a zobrazí sa dáta na zobrazenie z modelu. Riadiaca jednotka obsahuje logiku, ktorá aktualizuje model v reakcii na užívateľský vstup aplikácie. Napríklad nákupný zoznam môže obsahovať vstupné formuláre a tlačidlá, ktoré umožňujú pridávať alebo odstraňovať položky. Tieto akcie si vyžadujú aktualizáciu modelu, takže vstup je odoslaný kontrolórovi, ktorý potom riadne spravuje model a odošle aktualizované údaje zobrazenia. Môžete však jednoducho aktualizovať prezentáciu tak, aby zobrazovala údaje v inom formáte, napríklad zmeniť poradie položiek v abecednom poradí alebo od najnižšej po najvyššiu cenu. V tomto prípade môže ovládač zvládnuť priamo bez aktualizácie modelu.

    Modelová analógia v modernom svete

    MVC je spôsob, ako pochopiť, ako to fungujeWeb je veľmi užitočný pri plánovaní, pretože dáva užívateľovi všeobecnú predstavu o tom, ako by jeho nápady mali byť organizované skutočným kódom. Napríklad prípad žiadosti. Táto aplikácia umožní používateľom vytvárať úlohy a usporiadať ich do zoznamov. Model v aplikácii ToDo môže určiť, čo je "úloha" a že "zoznam" je súbor úloh. Kód zobrazenia určuje vzhľad súborov ToDo a zoznamy vizuálne. Úlohy môžu byť veľké písma alebo majú určitú farbu. Nakoniec môže kontrolór určiť, ako používateľ pridá úlohu alebo poznámky po dokončení. Riadiaca jednotka pripojí tlačidlo "Pridať" k "Modelu", keď používateľ klikne na položku "Pridať úlohy", model pridá novú úlohu.

    Len o šablóne návrhu

    Funkcie programu MVC môžu byť zobrazené v stručnosti ako príklad adresára. Model je zoznam osobných objektov. Odoslanie je grafické okno používateľského rozhrania, ktoré zobrazuje zoznam ľudí. Riadiaci pracovník spracováva také akcie ako "Odstrániť adresu osoby", "Pridať adresu osoby", "Odoslať osobu".
    Vo vyššie uvedenom príklade trieda Osoby o žiadosti nič nevie. Okno zobrazenia informuje správcu o činnostiach užívateľa. Zásadný vývoj softvéru prináša zbytočná zložitosť. Zložitosť vedie k tomu, čo je drahé v prevádzke. Najjednoduchší spôsob, ako zjednodušiť kód, je odstrániť zbytočné závislosti. Potom sa kód stáva menej zbytočným a ľahko sa udržiava, takže ho môžete opätovne použiť bez zmien.

    Hlavné závislosti prvkov

    Vymenovanie regulátora - odstráňte závislosť od typu modelu. Manažér projektu napríklad vyžaduje, aby vývojár vytvoril nielen kontaktné okno, ale ten, ktorý zobrazuje všetky kontakty iba na svojich fotografiách. Fotografie by mali byť v usporiadaní tabuľky, päť kusov na riadok. Pre MVC je táto úloha veľmi jednoduchá. V súčasnosti existujú tri triedy:
  • Osoba.
  • PersonListController.
  • Osobné zobrazenie.
  • Je potrebné vytvoriť dve triedy: PersonPhotoGridView a PersonPhotoGridController. Trieda osoby zostáva rovnaká a je ľahko vložená do dvoch rôznych uhlov pohľadu. Vývojár musí zmeniť triedu osoby, aby umiestnil nový objekt PersonPhotoGridView a nakoniec komplikuje model (príklad 3).
    Trieda osôb MVC môže byť reprezentovaná rôznymi grafickými nástrojmi bez akýchkoľvek zmien. Jednoducho vytvorte ovládač a prezentáciu s pomocou nových nástrojov, ako so starou sadou nástrojov. Kód môže vyzerať takto.
    V setPicture je tento spôsob momentu v podstate špagetový kód. Šablóna dizajnu MVC vkladá triedu medzi zobrazeniami a modelom na odstránenie modelových závislostí. Pri odstraňovaní závislostí môže byť model a prípadne vzhľad opätovne použité bez zmien. To umožňuje jednoduché zavedenie nových funkcií a údržby. Používatelia rýchlo získajú stabilný softvér, spoločnosť šetrí peniaze a vývojári pracujú v normálnych podmienkach.

    Princíp práce

    Zásada MVC má rozdeliť aplikáciu na 3Hlavné časti známe ako model, zobrazenie (zobrazenie) a ovládač. Viditeľné na diagrame sú priame asociácie (červené šípky) a vyradené združenia (modré šípky). Vymazané združenia sú tie, ktoré sa z pohľadu používateľa zdajú zrejmé a nie sú založené na skutočnom návrhu softvéru. Jednoduchý spôsob splnenia podmienky:
  • Používateľ komunikuje s podaním - kliknutím na odkaz alebo odoslaním formulára.
  • Regulátor spracováva vstup používateľa a prenáša informácie do modelu.
  • Model dostáva informácie a aktualizuje svoj stav, pridáva dáta do databázy, napríklad počíta dnešný dátum.
  • Prehliadač skontroluje stav modelu a zodpovedajúcim spôsobom odpovie zoznamom nedávno zadaných údajov.
  • Pohľad hľadá ďalšiu interakciu používateľa.
  • Jedná sa o jednoduchý koncept - Business Logic - výpočet logických procesov aplikácie. Napríklad obchodná logika jednoduchého kalendára by mala vypočítať, aký dátum, deň v týždni a ktorýkoľvek deň v mesiaci, ak chcete odoslať všetky dni tohto mesiaca. Alebo spustiť webový obsah pomocou aplikácie Spring MVC, ktorá umožňuje vytvárať aplikácie so statickou domovskou stránkou, akceptuje požiadavky HTTP GET.

    Dodržiavanie zásady DRY

    Mnohé rámce MVC používajú šablónový systém na zabezpečenie súladu so zásadou DRY, čo veľmi uľahčuje opätovné použitie kódu bez nutnosti prepísania. Existujú MVC rámce, ktoré pracujú na Smarty alebo používajú vlastné šablóny. Jednoduchým upozornením je, že niektoré balíky šablónmajú pomerne zložitú syntax - programátor ich musí skontrolovať skôr, ako sa začne rozvíjať. Predpokladá sa, že MVC je ďalšou veľmi dobrou implementáciou filozofie SUY (Neopakujte sa). V podstate DRY používa Ruby on Rails a niekoľko ďalších implementácií a myšlienkou je, že programátor píše niečo raz a raz pomocou kódu. Princíp DRY je definovaný ako "každá časť musí mať v systéme jednoznačnú, jednoznačnú autoritatívnu reprezentáciu". Správna implementácia DRY znamená, že zmena jedného prvku systému nemení žiadne nesúvisiace prvky, čo je celkom logické.

    Dohovor o konfigurácii

    Toto je vzorová koncepcia, ktorá sa v podstate pokúša odstrániť počet riešení, ktoré musí vývojár urobiť. To sa dosiahne vytvorením štruktúry s dohodami, ktoré zvyčajne vyžadujú všetky prvky. Vývojár potrebuje iba zmeniť to, čo je skutočne potrebné. Je to úplne jednoduché. Napríklad pre formulár obsahujúci prvky, ktoré sú vždy potrebné a majú rovnaké hodnoty. Formulár obsahuje značku, ktorá definuje akciu, metódu, meno, id enctype. Ak napríklad nemusíte nič meniť, je jednoduché získať meno, id a akciu formulára z adresy URL. Môžete tiež nainštalovať všetky metódy POST, ak nie je uvedené inak. Aplikácia tejto myšlienky na všetky prvky umožňuje veľmi rýchly, jednoduchý a zrozumiteľný spôsob vytvorenia takého typu programu. MVC je naozaj dobrý spôsob, ako začať produkovať čistý, škálovateľný, výkonný a rýchly kód v menej času s minimálnym úsilím. Niektoré štruktúry MVC nezahŕňajú všetky tieto funkcie, väčšina z nich obsahuje ibajeden alebo dva

    Výhody a nevýhody tohto spôsobu

    MVC návrhový vzor použitý na vývoj softvéru, základný princíp je založený na myšlienke, že logika program by mal byť oddelený od jeho prezentácie. Jednoducho povedané, je to najlepší spôsob, ako oddeliť logiku programu od displeja. Ako každá programovacia metóda má svoje výhody a nevýhody. Výhody MVC:
  • Rýchly vývojový proces, podporuje rýchly a paralelný vývoj.
  • Vzhľadom na to, MVC je jeden programátor môže pracovať na show, a ostatné môžu pracovať na radiči vytvoriť obchodnej logiky.
  • Použitie vyvinutý pre jeho aplikáciu, trikrát rýchlejšie ako aplikácie vyvinuté s inými návrhových vzorov.
  • ​​
  • Schopnosť poskytovať niekoľko druhov.
  • V MVC môžete vytvoriť viacero zobrazení.
  • Duplicitné kopírovanie je veľmi obmedzené, pretože oddeľuje dáta a logiku od displeja.
  • Podpora pre asynchrónne technológie, ktorá pomáha vývojárom rýchlo rozvíjať aplikáciu na stiahnutie.
  • zmena nemá vplyv na celý model ako súčasť modelu nezávisí na zobrazenie súčastí. Zmeny v modeli preto nebudú mať vplyv na celú architektúru.
  • NET MVC vzor vracia dát bez použitia formátovania rovnaké komponenty môžu byť použité a ktoré požadovalo použitia akéhokoľvek rozhrania.
  • Táto platforma je veľmi ľahké vytvoriť URL adries, ktoré sú optimalizované pre SEO, aby sa viac návštev z konkrétneho programu.
  • Nevýhody MVC:
  • Zvýšená zložitosť.
  • Neúčinný prístup k údajom.
  • Zložitosť používania MVC s moderným používateľským rozhraním.
  • Vyžaduje viac programátorov.
  • Znalosť viacerých technológií je potrebná. Vývojár pozná kód klienta a html kód.
  • Vytvorenie prvej aplikácie

    Môžete vytvoriť príklady ASP.NET MVC s príslušnou verziou prostredia Visual Studio a .NET pomocou komunitného systému MVC v522017 a platformy .NET 4.6. Ako spustiť:
  • Otvorte Visual Studio 2017 a ďalšie: File - & gt; Vytvoriť & gt; Projekt
  • Rozbaľte Visual C # a webový uzol na ľavej strane a potom vyberte strednú sekciu asp net MVC.
  • Zadajte názov projektu MyMVCApplication, môžete špecifikovať akýkoľvek vhodný názov pre vašu aplikáciu.
  • Nastavte umiestnenie projektu kliknutím na tlačidlo "Recenzie" a potom na "OK".
  • Okno "Nová webová aplikácia" nájde jadro MVC asp.
  • Zmena autentifikácie kliknutím na príslušné tlačidlo.
  • Kliknutím na tlačidlo OK povoľte MVC vytvoriť projekt pomocou šablóny.
  • Prvá aplikácia je pripravená.
  • Spustite projekt v režime ladenia F5 alebo Ctrl + F5 bez ladenia. Rámcový projekt MVC obsahuje predvolené súbory javascript a CSS bootstrap 3.0.
    Týmto spôsobom môžete vytvárať odpovedajúce webové stránky. Toto prispôsobivé rozhranie zmení svoj vzhľad na základe veľkosti obrazovky rôznych zariadení. Napríklad horná lišta s ponukami sa zmení na mobilných zariadeniach. Takže je jednoduché vytvoriť svoju prvú hlavnú aplikáciu MVC s Visual Studio 2013. MVC je základom preProgramovanie a organizovanie programových súborov. Ak chcete určiť myšlienku, ako by mal byť kód zorganizovaný pre svoju funkciu, vývojári vytvoria priečinky pre každú časť, ktorá poskytuje východiskový bod pre preklad nápadov do kódu a tiež uľahčuje návrat k kódu. Premýšľanie o tom, ako kód spolupracuje s iným kódom, je dôležitou súčasťou programovania a učenie sa spolupráce s inými vývojármi je dôležitá zručnosť. Čas strávený na pochopení toho, ako aplikácia zapadá do štruktúry MVC php, zvyšuje programátor svoje schopnosti vývojárov.

    Súvisiace publikácie