Model-View-Controller (MVC), mida saab selgitada baaris jookide tellimise kaudu

Kui olete käinud baaris, siis pole MVC nii raske.

Mudel-vaate-kontrolleri (MVC) raamistikud on kaasaegsete veebirakenduste loomisel ülioluline osa. Kõndige veebiarendajate tuppa ja tõenäoliselt pommitatakse teid Ruby on Rails, Angular või Django mainimisega.

Üldisemalt võib MVC loogikat kasutada peaaegu kõigi veebiarendusprotsesside kirjeldamiseks, mis kasutavad sellist keelt nagu PHP, Ruby, Python või JavaScript.

Mitte vähem ...

Paljud veebiarendajad liiguvad selles salapärases maailmas, naerates näol läbi umbrohu. Kui vanemarendaja või meeskonnakaaslane peab vaatama nende arendajate koodi, annavad nad viivitamatult näpunäite, millele järgneb kiire loeng levinud kodeerimistavade kohta.

Nii ei saa elu läbi minna! Tegelikult saab kaasaegse veebiarenduse MVC-i mustrit hõlpsasti seletada baarmenilt joogi tellimisega. Ja jah, see tähendab, et kui olete käinud baaris, saate aru kõigi veebirakenduste jagatud peamisest struktuurimustrist.

Häkkides vapralt läbi takistuste, kuni reaalsus tabab

Mis on MVC muster?

  • Mudel : struktureerib teie andmed usaldusväärses vormis ja koostab need kontrolleri juhiste põhjal
  • Vaade : kuvab andmed kasutajale hõlpsasti arusaadavas vormingus, lähtudes kasutaja toimingutest
  • Kontroller : võtab vastu kasutaja käsud, saadab mudelile käske andmete värskendamiseks, saadab juhiseid liidese värskendamiseks.

Või diagrammi kujul:

See oli igav. Baari.

Algaja veebiarendaja siseneb baari ...

Sisened reede õhtul baari ja lähened baarmenile. Kuna baar on juba rahvarohke, lükkate läbi rahvahulga, kuni köidate lõpuks baarmeni tähelepanu ja õhkate: "Üks Manhattan, palun!"

Teie olete kasutaja ja teie joogitellimus on kasutaja soov . Teie jaoks on Manhattan lihtsalt teie lemmikjook ja teate üsna usaldusväärselt, et sellest saab magus ja maitsev jook.

Baarmen teeb sulle kiire noogutuse. Baarmeni jaoks pole Manhattan maitsev jook, see on lihtsalt sammude jada:

  1. Haara klaas
  2. Lisa viski
  3. Lisage vermut
  4. Lisage mõru
  5. Segage jooki
  6. Lisa kirss
  7. Küsige krediitkaarti ja võtke tasu.

Baarimehe aju on kontroller . Niipea kui ütlete sõna “Manhattan” neile arusaadavas keeles, algab töö. See töö sarnaneb oma olemuselt margarita või maasika daiquiri valmistamisele, kuid kasutab selgeid koostisosi, mida ei saa kunagi segi ajada. Baarmen saab kasutada ainult tööriistu ja ressursse, mis on lati taga. See piiratud tööriistakomplekt on mudel ja sisaldab järgmist:

  • Baarmeni käed
  • Loksutid / segamisseadmed
  • Kange alkohol
  • Segud
  • Prillid
  • Lisandid

Võimalik, et mõnusas baaris võib neil olla robotabi! Või automaatne joogisegisti. See pole teie konkreetse baarmeni jaoks oluline, kes saab kasutada ainult olemasolevaid ressursse.

Lõpuks on vaade valmis jooki, mida saate näha ja tarbida . Vaade on ehitatud mudeli piiratud võimalustest ning on korraldatud ja edastatud kontrolleri (st baarmeni aju) kaudu.

Õppetunnid

  • Tahad veel jooki? Oma tühja klaasi, vaate karjumine ei tee teile absoluutselt head. Peate rääkima baarmeniga.
  • Baarimehe taotluse kuulamise ja joogi valmistamise vahele jääv aeg peaks olema absoluutselt minimaalne. Mõnikord tuntakse seda kui "kõhna kontrollerit" - teisisõnu, kontroller peaks sisaldama minimaalselt loogikat ja delegeerima võimalikult palju mudelile. Suurepärane baarmen ei pea mitte ainult retsepte pähe õppima, vaid valmistab koostisosad ja tööriistad igal õhtul usaldusväärselt ette, nii et pärast tellimist alustama on vaja minimaalselt otsida ja korraldada.
  • Kas baarmen võiks kõik koostisosad otse klientide suhu valada ja oodata, et klient selle ringi lööks ja jooki segaks? Jah, võib-olla ma arvan. Soovite hoida võimalikult palju oma loogikast mudeli sees, mitte vaates. Teisisõnu on joogi valmistamine baari taga eelistatavam selle segamisele kliendi suus.
  • Kui tellite õlut, ei pea baarmen vaevalt midagi tegema. Võib-olla eemaldavad nad lihtsalt korgi ja ulatavad teile joogi. Nagu öeldud, peate siiski baarmeni paluma. Õlu ei tule võluväel teie ette.

Selle sidumine veebiarenduse juurde

Nii toimib sama protsess tänapäevases veebirakenduses:

  • Kasutaja esitab päringu marsruudil, ütleme näiteks / kodu.
  • Kontroller saab selle taotluse ja annab konkreetsete tellimuste, mis on seotud selle liini. Need juhised võivad olla kas vaate jaoks teatud lehe värskendamiseks või teenimiseks või mudeli jaoks konkreetse loogika täitmiseks. Oletame, et selle taotlusega on seotud mõni loogika.
  • Mudel täidab loogikat, võtab andmebaasist välja ja saadab kontrolleri juhiste põhjal järjepideva vastuse.
  • Seejärel edastab kontroller need andmed kasutajaliidese värskendamiseks vaatesse.

Kui päring tuleb, peab see kõigepealt kontrollerile minema, enne kui selle saab vaate või mudeli juhisteks teisendada. Vikipeedia artikkel Ruby on Rails sisaldab täiendavat ülevaadet, kui otsite rohkem.

Iga kord, kui peate õppima uue veebiarenduse raamistiku, puutute kokku selle järjekindla MVC-mustriga. Ja kui konkreetne raamistik sellest erineb, võite olla kindel, et autorid selgitavad oma uut mustrit viidetega MVC-le.

See peaks kuradima õppimise palju lihtsamaks tegema - kui olete ühe korra MVC-ga arenenud, mahub iga uus raamistik teie mugavustsooni.

Kas teile meeldis see juhend? Andke mulle kommentaarides teada!