Program MVC Model-View-Controller - kaj je to, lastnosti in opis

Program Model-View-Controller (MVC) vam omogoča načrtovanje, izvajanje in testiranje vsakega dela programa, ne glede na katerokoli drugo, pri čemer je koda organizirana. Shranjevanje organizirane kode pomeni, da lahko hitro najdete, kar potrebujete za preverjanje, hitro popravljanje, spreminjanje in dodajanje novih funkcij. Pomeni tudi učinkovitejšo kodo in najboljši način za ponovno uporabo za hitrejše aplikacije. Brez dobrih razlogov za uporabo nove strukture, tehnologije ali trenda je za mnoge razvijalce težko in predvsem zato, ker ne morejo najti motivacije za raziskovanje nove teme. Ampak to ni samo o MVC, arhitektura, ki je zelo pomembno, vendar uporaba MVC metode za splet je potrebno.


Glavne vrste funkcionalnosti arhitekture

Verjetno ena največjih prednosti je, da mnogi razvijalci razumejo in uporabljajo strukturo MVC za ustvarjanje spletnih aplikacij. Zaradi te skladnosti je upravljanje projektov med različnimi razvijalci vedno lažje. Večinoma spletna aplikacija ali del programske opreme sledi strukturi MVC. Če strukturo predstavljajo tri glavne vrste funkcionalnosti, potem je jasno, da je to MVC:
  • Modelna koda ponavadi predstavlja resnične stvari. Ta koda lahko vsebuje neobdelane podatke ali opredeli glavne komponente programa. Na primer, če uporabnik ustvari aplikacijo Todo, bo koda modela določila, kaj je "naloga" in kaj "seznam", saj so to glavne komponente te aplikacije.
  • Pogled ali predložitev - revizija kode je sestavljena iz vseh funkcij, ki neposredno vplivajo na uporabnika. To je koda, zaradi katere je aplikacija lepa in drugače določa, kako jo uporabnik vidi in komunicira z njo.
  • Upravljavec deluje kot povezava med modelom in predstavitvijo, tako da vnese uporabnika in odloči, kaj bo z njim naredil. Je možgani programa in povezuje model in predstavitev. Krmilnik upošteva srednjo raven. Vzajemno deluje z uporabnikom, zbira podatke, vzpostavlja stik z modelom, pridobiva potrebne podatke in ga nato odda v odgovor uporabniku.
  • Ko uporabnik izvede dejanje, se najprej obrne na krmilnik. Sprejel bo vse podatke, na primer $ _GET, $ _POST spremenljivke v PHP-ju, in ugotovil, kaj storiti s temi podatki. Na kratko, modeli se nanašajo na obdelavo podatkov in razširjeno funkcionalnost. Zato je naloga upravljavca v tem trenutku določiti, kateri model naj se kliče, in nato odpreti ustrezno funkcijo znotraj tega modela. Ko pokličete funkcijo, bo našel rezultat, običajno v spremenljivki okolja.


    Model je preprosta ideja o tem, kaj uporabnik počne v aplikaciji. Model MVC je tisto, kar mora biti predstavljeno v kodi, kot je uporabnikova knjiga, njegov bančni račun ali kaj drugega. Model je odgovoren za shranjevanje funkcij in spremenljivk, ki so povezane s tem, kar predstavlja. Logiko modela lahko zamislite kot osnovni koncept objektno usmerjenega programiranja. Modeli tukaj so preprosto "razredi". Ne zamenjujte se z razredi v krmilnikih, kiTehnično so tudi strukturirani kot razredi. Nazadnje, ko upravljavec prosi za informacije iz modela, pošlje svojo prijavo. Videz je podoben sistemu predloge programa in lahko obstaja za določen tip postavitve strani, mobilni pogled ali za določeno temo. Prikaz bo prikazal vse oznake in CSS, ki se tradicionalno uporabljajo pri ustvarjanju statične spletne strani.
    MVC je tisto, kar uporabnik vidi, ko krmilnik dostopa do njega. Krmilnik preprosto preusmeri uporabnika na pravilen videz, potem ko prejme podatke iz modela in te informacije preusmeri v oddajo. Nato predložitev odraža informacije, ki so jim bile posredovane, v obliki, v kateri je strukturirana.

    Struktura organizacije kodeksa

    Velika ideja MVC je, da ima vsak del kodeksa svoj cilj in da so ti cilji različni. Nekatere kode vsebujejo podatke o programih, nekatere omogočajo uživanje v aplikaciji, nekatere pa nadzorujejo funkcionalnost. Menijo, da je to MVC, program, ki lahko organizira ključne funkcije kode v svoje, lepo urejene škatle. Struktura datoteke za uporabo MVC je na standarden način sorazmerno preprosta - preprosto so mape za predstavitve, modele in krmilnike, vse pa so povezane v enem imeniku. Seveda bo uporabnik s katero koli spletno aplikacijo imel tudi druge mape in datoteke, kot so indeksna datoteka in imenik za slike.
    Spodaj je preprosta struktura imenikov MVC z nekaterimi primeri datotek. Vsak razvijalec ima lahko svoja imena, zato je pomembno, da se o njih dogovori razumen standard.Zato so datoteke v spodnji strukturi samo primeri.
    Struktura ASP.NET Core MVC je enostavno okolje za oddajo. Različni odprtokodni. Je zelo prilagodljiv, optimiziran za uporabo z Asp Net Core MVC.

    Arhitektura MVC

    Odsek modela določa, katere podatke mora vsebovati aplikacija. Če se stanje teh podatkov spremeni, potem model običajno poroča o predložitvi, včasih pa tudi krmilniku, če je za nadzor posodobljenega pogleda potrebna druga logika. Na primer, za program nakupovalnih košaric bo model pokazal, kateri podatki naj vsebujejo elemente na seznamu - postavko, ceno in druge ter katere predmete že obstajajo. Predstavitev določa, kako naj bodo prikazani podatki aplikacije. Na seznamu dodatkov bo pogled predložitve definiran kot seznam, ki bo poslan uporabniku, in bo prejel podatke za prikaz iz modela. Krmilnik vsebuje logiko, ki posodablja model kot odgovor na uporabniški vnos aplikacije. Na primer, nakupovalni seznam lahko vsebuje vnosne obrazce in gumbe, ki omogočajo dodajanje ali odstranjevanje elementov. Ti ukrepi zahtevajo posodobitev modela, tako da se vhod pošlje upravljavcu, ki nato pravilno upravlja model, pošlje posodobljene podatke pogleda. Lahko pa tudi posodobite predstavitev tako, da prikaže podatke v drugačni obliki, na primer, da spremenite vrstni red elementov po abecednem vrstnem redu ali od najnižje do najvišje cene. V tem primeru lahko krmilnik upravlja neposredno, ne da bi posodobil model.

    Analogija modela v sodobnem svetu

    MVC je način, kako razumeti, kako delujeSplet je zelo koristen pri načrtovanju, saj daje uporabniku splošno predstavo o tem, kako naj bodo njegove ideje organizirane z dejansko kodo. Primer primera vloge. Ta aplikacija bo uporabnikom omogočila ustvarjanje nalog in njihovo organiziranje na sezname. Model v aplikaciji ToDo lahko določi, kaj je "naloga" in da je "seznam" niz nalog. Koda Pogled bo vizualno določila videz seznama opravil in seznamov. Naloge so lahko velike pisave ali določene barve. Končno lahko krmilnik določi, kako uporabnik doda opravilo ali opombe, ko je končano. Krmilnik poveže gumb »Dodaj« z »Modelom«, ko uporabnik klikne »Dodaj naloge«, model doda novo opravilo.

    Samo o predlogi za oblikovanje

    Značilnosti programa MVC se lahko na kratko prikažejo kot primer adresarja. Model je seznam objektov osebe. Predložitev je grafično okno uporabniškega vmesnika, ki prikazuje seznam oseb. Upravljavec obravnava takšna dejanja, kot je "Izbriši naslov osebe", "Dodaj naslov osebe", "E-pošta osebi".
    V zgornjem primeru razred Person ne ve ničesar o predložitvi. Okno prikaza pove krmilniku o dejanjih uporabnika. Ta princip razvoja programske opreme je neločljivo zapleten. Kompleksnost vodi do tega, kar je drago v uporabi. Najlažji način za preprosto kodo je odstraniti nepotrebne odvisnosti. Potem postane koda manj neuporabna in lažja za vzdrževanje, zato jo je mogoče ponovno uporabiti brez sprememb.

    Glavne odvisnosti elementov

    Imenovanje krmilnika - odstrani odvisnost od tipa modela. Na primer, vodja projekta zahteva, da razvijalec ne ustvari le okna za stike, temveč tisti, ki prikazuje vse stike samo na svojih fotografijah. Fotografije morajo biti v postavitvi tabele, pet kosov na vrstico. Za MVC je ta naloga zelo preprosta. Trenutno obstajajo trije razredi:
  • Oseba.
  • Kontrolor osebnih podatkov.
  • PersonListView.
  • Potrebno je ustvariti dva razreda: PersonPhotoGridView in PersonPhotoGridController. Razred osebe ostaja enak in se zlahka vstavi v dva različna vidika. Razvijalec mora spremeniti razred Person, da postavi novo PersonPhotoGridView in na koncu zaplete model (primer 3).
    Razred MVC Person je lahko predstavljen z različnimi orodji GUI brez kakršnih koli sprememb. Preprosto ustvarite krmilnik in predstavitev s pomočjo novih orodij, kot s starim naborom orodij. Koda bi lahko izgledala takole.
    V setPicture, ta trenutek metoda je v bistvu špageti kodo. MVC Design Template vstavi razred upravljalnika med predstavitvami in modelom, da odstrani odvisnosti modela. Pri odstranjevanju odvisnosti lahko model in po možnosti videz ponovno uporabimo brez sprememb. To olajša uvajanje novih funkcij in vzdrževanja. Uporabniki hitro dobijo stabilno programsko opremo, podjetje prihrani denar in razvijalci delajo v normalnih pogojih.

    Načelo dela

    Načelo MVC je, da se uporaba razdeli na 3Glavni deli, znani kot Model, Pogled (View) in Krmilnik. Na diagramu so vidne neposredne povezave (rdeče puščice) in umaknjena združenja (modre puščice). Izbrisana združenja so tista, ki se z vidika uporabnika morda zdijo očitna in ne temeljijo na dejanski zasnovi programske opreme. Enostaven način za izpolnitev pogoja:
  • Uporabnik sodeluje s predložitvijo - s klikom na povezavo ali pošiljanjem obrazca.
  • Upravljavec obdela uporabniški vnos in modelu pošlje informacije.
  • Model prejme informacije in posodobi svoj status, doda podatke v bazo podatkov, na primer izračuna današnji datum.
  • Brskalnik preveri stanje modela in se ustrezno odzove z navedbo nedavno vnesenih podatkov.
  • Pogled išče naslednjo interakcijo uporabnika.
  • To je preprost koncept - poslovna logika - izračun logičnih procesov aplikacije. Na primer, poslovna logika preprostega koledarja bi morala izračunati, kateri datum, dan v tednu in kateri koli dan v mesecu, če želite poslati vse dni v tem mesecu. Ali za zagon spletne vsebine z uporabo MVC Spring, ki vam omogoča izdelavo aplikacije s statično domačo stranjo, sprejema zahteve HTTP GET.

    Spoštovanje načela DRY

    Veliko ogrodij MVC uporablja predlogo sistema za zagotovitev skladnosti z načelom DRY, zaradi česar je zelo priročno ponovno uporabo kode, ne da bi jo bilo treba ponovno pisati. Obstajajo MVC okviri, ki delujejo na Smarty ali uporabljajo svoje lastne predloge. Preprosto opozorilo je, da so nekateri predlogi paketovimajo precej zapleteno sintakso - programer jih mora preveriti, preden se začne razvijati. Menijo, da je MVC še ena zelo dobra izvedba filozofije DRY (Ne ponovi se). V bistvu DRY uporablja Ruby on Rails in še nekaj drugih izvedb, ideja pa je, da programer enkrat piše in enkrat uporabi kodo. Načelo DRY je opredeljeno kot "vsak del mora imeti enotno, nedvoumno in verodostojno predstavitev v sistemu." Pravilno izvajanje DRY pomeni, da sprememba enega elementa sistema ne spremeni nepovezanih elementov, kar je povsem logično.

    Konvencija o konfiguraciji

    To je paradigma oblikovanja, ki v bistvu poskuša odstraniti število rešitev, ki jih mora razvijati. To se doseže z oblikovanjem strukture s sporazumi, ki običajno zahtevajo vse elemente. Razvijalec mora le spremeniti tisto, kar je resnično potrebno. Preprosto je. Na primer, za obrazec, ki vsebuje elemente, ki so vedno potrebni in imajo enake vrednosti. Obrazec ima oznako, ki določa dejanje, metodo, ime, id enctype. Na primer, če vam ni treba ničesar spreminjati, je enostavno dobiti ime, ID in dejanje iz URL-ja. Namestite lahko tudi vse metode POST, razen če ni drugače navedeno. Uporaba te ideje pri vseh elementih omogoča zelo hitro, enostavno in razumljivo ustvarjanje take vrste programa. MVC je resnično dober način za začetek proizvodnje čiste, razširljive, zmogljive in hitre kode v krajšem času z minimalnim naporom. Nekatere strukture MVC ne vključujejo vseh teh funkcij, večina jih vsebuje samoeno ali dve

    Prednosti in slabosti metode

    MVC design template se uporablja pri razvoju programske opreme, katere osnovno načelo temelji na ideji, da je treba logiko programa ločiti od njegove predstavitve. Preprosto povedano, to je le najboljši način, da ločite logiko programa od zaslona. Kot vsaka programska metoda ima svoje prednosti in slabosti. Prednosti MVC:
  • Hitri razvojni proces, podpira hiter in vzporeden razvoj.
  • Pri programu MVC lahko en predvajalnik dela na razstavi, drugi pa lahko na krmilniku ustvarijo poslovno logiko.
  • Aplikacija, razvita z njeno uporabo, je trikrat hitrejša od aplikacije, razvite z drugimi razvojnimi predlogami.
  • ​​
  • Zmožnost zagotavljanja več vrst.
  • V MVC lahko ustvarite več pogledov.
  • Podvojeno kopiranje je zelo omejeno, saj ločuje podatke in logiko od zaslona.
  • Podpora za asinhrono tehnologijo, ki razvijalcem omogoča hitro razvijanje aplikacije za prenos.
  • Sprememba ne vpliva na celoten model, ker del modela ni odvisen od dela pogledov. Zato vse spremembe v modelu ne bodo vplivale na celotno arhitekturo.
  • Predloga .NET MVC vrne podatke brez uporabe kakršnega koli oblikovanja, tako da se lahko iste komponente uporabijo in pokličejo za uporabo s katerim koli vmesnikom.
  • S to platformo je zelo preprosto oblikovati URL-je, optimizirane za SEO, da bi dobili več obiskov iz določene aplikacije.
  • Neugodnosti MVC:
  • Večja kompleksnost.
  • Neučinkovit dostop do podatkov.
  • Kompleksnost uporabe MVC s sodobnim uporabniškim vmesnikom.
  • Zahteva več programerjev.
  • Potrebno je poznavanje več tehnologij. Razvijalec pozna kodo strani odjemalca in kodo html.
  • Ustvarjanje prve vloge

    Primeri ASP.NET MVC lahko razvijete z ustrezno različico okolja Visual Studio in .NET z uporabo MVC v522017 in platforme .NET 4.6. Kako zagnati:
  • Odprite Visual Studio 2017 in več: Datoteka - & gt; Ustvari & gt; Projekt
  • Razširite Visual C # in spletno vozlišče na levi strani in nato v srednjem delu izberite asp net MVC.
  • Vnesite ime vašega projekta MyMVCApplication, lahko določite ustrezno ime za vašo prijavo.
  • Nastavite lokacijo projekta s klikom na gumb "Pregled" in nato "OK".
  • Okno "Nova spletna aplikacija" najde jedro asp MVC.
  • Spremeni preverjanje pristnosti s klikom na ustrezen gumb.
  • Kliknite V redu, da omogočite MVC ustvariti projekt z uporabo predloge.
  • Prva vloga je pripravljena.
  • Zaženite projekt v načinu razhroščevanja F5 ali Ctrl + F5 brez odpravljanja napak. Okvirni projekt MVC privzeto vsebuje JavaScript in CSS zagonske datoteke 3.0.
    Na ta način lahko ustvarite odzivne spletne strani. Ta odzivni vmesnik bo spremenil videz glede na velikost zaslona različnih naprav. Na primer, zgornja menijska vrstica bo spremenjena na mobilnih napravah. Tako je s programom Visual Studio 2013 enostavno ustvariti prvo jedro MVC aplikacije. MVC je osnova zaProgramiranje in organiziranje programskih datotek. Za določitev ideje, kako naj bo koda organizirana za svojo funkcijo, bodo razvijalci ustvarili mape za vsak del, ki zagotavlja izhodišče za prevajanje idej v kodo, in tudi olajša vrnitev k kodi. Razmišljanje o tem, kako je koda povezana z drugo kodo, je pomemben del programiranja in učenje, kako sodelovati z drugimi razvijalci, je pomembno spretnost. Poraba časa za razumevanje, kako se aplikacija ujema s strukturo MVC php, programer poveča svoje sposobnosti razvijalcev.

    Sorodne publikacije