Ano ang MVC? Kilalanin ang arkitektura ng software na ito!

Alamin ang tungkol sa Ano ang MVC? At dahil ang bagong uri ng software na ito ay binago ang mundo ng code at ang pinakamahalagang mga katangian, lahat ng ito salamat sa sasabihin namin sa iyo sa ibaba.

ano-ang-mvc-2

MVC o Model View Controller, ang bagong paraan upang mag-code

Ano ang MVC?

Ang MVC ay nangangahulugang Model View Controller, ang layunin nito ay upang maglingkod bilang isang batayan sa disenyo ng software. Ang isang arkitektura ng software ay mga gabay na nagpapadali sa pagbuo ng mga elementong ito, na nagbibigay ng isang modelo kung paano ito dapat.

Ang MVC, hindi katulad ng iba pang mga arkitektura ng software, ay nagtatanggal ng bawat code upang pangalagaan ang isang tukoy na gawain, sa ganitong paraan, ang code ay binuo sa isang solong trabaho at isinasagawa nang walang pagkaantala.

Upang mapadali ang paggamit nito, gamitin ang interface ng gumagamit, dahil ang mga ito ay madaling maunawaan at direktang ikonekta ang computer sa gumagamit ng Internet. Katulad nito, ang MVC code ay maaaring magamit para sa iba't ibang mga programa o iskema.

Ang oras ng paggamit nito ay mahaba, praktikal at ang pakikipag-ugnay nito ay simple, sapagkat naghahangad itong lumikha ng software nang walang napakaraming mga kumplikadong, tulad ng nakaraan. Gumagamit ang system ng iba't ibang mga code, kahit na ginagamit ang mga ito, at pinaghihiwalay ang mga ito upang gumana lamang sila sa isang gawain o konsepto bawat isa.

Tulad ng ipinaliwanag sa itaas, ito ay isang arkitektura, ngunit bakit? Kaya, tulad ng isang plano sa pagtatayo, nagtatatag ito ng tatlong magkakaibang mga plano sa pagtatrabaho; modelo, view at controller.

Ang ideyang ito ng paghihiwalay mula sa konsepto ng mga code ay luma at nakakuha ng momentum dahil sa mahusay na mga balangkas na lumitaw. Ang mga Framework ay isang uri ng software na naghahangad na malutas ang isang problema at ang konstruksyon nito ay batay sa mismong problema.

Ano ang MVC?: Kasaysayan ng Model, Views at Controllers

Ang ideya ng Model, Views & Controllers ay sinabi na bago pa nilikha ang isang web page. Ito ay isang ideya na nagmumula sa GUI o ang mga graphic na interface ng video; Ang mga GUI ay mga tool na gumagana sa mga interface ng gumagamit, na gumagamit ng software na kumakatawan sa visual na nilalaman, ang data na magagamit sa system.

Ito ay isa sa mga nagpasimulang makabagong ideya na gumamit ng software na hinati ang mga konsepto nito sa iba't ibang mga pag-andar. Nagsimula ito bilang isang konsepto noong dekada 70, kalaunan noong dekada 80 isang bersyon para sa Smalltalk-80 ang ipinatupad.

Ang Smalltalk-80 ay isang aktibong wika ng programa na, hindi tulad ng MCV, ay hindi pinaghiwalay ang mga konsepto at pag-andar nito. Ang unyon ng MCV ay ibibigay para sa isang gumaganang library, sinusubukan ang mga base nito.

Sa wakas, sa huling bahagi ng siyamnapung taon, ang MVC ay pinakawalan bilang isang konsepto nito, na nahiwalay mula sa Smalltalk-80. Sa mga unang araw nito, ang MCV ay isang napaka pangunahing programa na hindi pa naipatupad ang tampok na paghihiwalay ng code, batay lamang sa input mode.

Sa pag-unlad ng ilang buwan na ito ay nagbabago, ipinapatupad ang view, na kung saan ay ang modelo ng output at pagsasama-sama nito sa input model. Sa paglipas ng mga taon, ang ganitong uri ng modelo ay hindi na sapat para sa kasalukuyang mga aplikasyon, samakatuwid, ang MVC ay umunlad sa konsepto na kilala ngayon, subalit, dumaan ito sa iba't ibang mga bersyon hanggang sa maging kung ano ito ngayon.

Hierarchical Model View Controller (HMVC)

Ito ay isa sa mga unang pagkakaiba-iba, lumitaw ito sa simula ng 2000. Hindi tulad ng MVC, ang HMCV ay nag-configure muna ng modelo at sa pagtatapos ng view, na isang medyo mas mahabang proseso; Hindi pinapayagan ng bersyon na ito ang view na direktang suriin o ma-access ang data.

Model View Adapter (MVA)

Ito ay isang bersyon na malapit sa kung ano ang magiging MVC, pagkakaroon ng isang katulad na arkitektura upang paghiwalayin ang bawat gawain o code ayon sa mga antas. Hindi tulad ng hinalinhan nito, antas ng MVA sa bawat gawain, ngunit hindi pinapayagan ang anumang koneksyon sa pagitan ng modelo at ng view tulad ng MVC.

Tagapakita ng Model View (MVP)

Ang Model View Presenter ay patuloy na ginagamit upang idisenyo ang mga puntos ng koneksyon sa pagitan ng gumagamit at ng PC. Ginagamit ito para sa mga pagsubok kung saan ang server ay nagbibigay ng mga autonomous na tugon at binabago ang data na binibigay ng modelo at pinipiga ito para sa pagtingin.

Viewmodel ng View ng Model (MVVM)

Ang ganitong uri ng arkitektura ng software ay ina-unlock ang buong istraktura ng modelo at ang view, na konektado sa bawat isa, na nakakamit ang isang kumpletong paglipat ng data. Bumubuo ito ng isang mahusay na visual na modelo at nag-aalok ng mahusay na pag-unlad ng graphics sa mga application.

Ano ang buti ng MVC?

Ang tool na ito ay isang sistema ng paglikha ng software, na ginagamit upang makabuo ng mahusay na mga aplikasyon ng kalidad, samakatuwid, ngayon ang pinakamahusay na kalidad at kadalian ng pagprograma ang hinahangad.

Mula nang likhain ang web at computer, ang programa ay tumaas nang mataas at ang mga inhinyero ng system ay gumawa ng mahalagang papel, sapagkat nagdidisenyo sila ng magagaling na mga application o software na nagbago sa buong mundo. Para sa paglikha ng bawat programa kinakailangan na gumamit ng isang naaangkop na system ng code.

Ang pag-program noon ay isang bagay na mabigat at kumplikado, na maaaring magtagal upang makapagdala ng bago bilang isang sistema o aplikasyon, subalit, unti-unting nabuo ang mga serbisyo o programa upang mapadali ang proseso. Mula sa mga program na pinaghiwalay ang code o pinamamahalaang magkasama, kahit isa-isa.

Ang Model View Controller ay ang perpektong solusyon para sa mga inhinyero ng system o programmer, sapagkat isinaayos nito sa pamamagitan ng antas ng bawat pagpapatakbo na dapat gampanan ng code at walang gawain na nagambala sa iba pa.

Ang proseso ng programa ay ginawang mas simple dahil sa paraan kung saan pinapayagan ng MVC na magamit muli ang mga code, na nakakakuha ng kumpletong katatasan sa anumang elemento na na-program.

Hindi lamang nagbibigay ang MVC ng kadalian sa pag-program, ngunit pinapayagan din itong gawin nang mas mabilis at nagreresulta sa mga de-kalidad na app.

Kung nagugustuhan mo ang artikulong ito, inaanyayahan kita na basahin "Mga Klase at Bagay sa Java", isang kumpletong gawain ng mga konsepto tungkol sa Java, tiyak na magugustuhan mo ito.

HTML nang walang MVC

Maaari itong maging malabo sa una ang lahat ng paliwanag ng arkitektura ng software na ito, subalit, isinasaalang-alang nila ang isang bagay tulad ng mga elemento ng HTML, CSS at PHP.

Ang bawat isa sa kanila ay ginagamit upang mai-program o magdisenyo ng isang pahina; Ang pinakakaraniwan ay ang HTML, na sa simula ay walang maayos na istraktura at sa oras ng pagprograma hindi nito pinaghiwalay ang alinman sa mga pag-andar nito, bilang resulta, ang code ay halo-halong at kung nais mong baguhin ang isang bagay, kinailangan mong baguhin ang lahat ng code.

Ang problema sa HTML ay nakapagpapagod sa gawain sa programa, kasama ang ilang mga manunulat ng code ay may magandang ideya na lumikha ng isang bagay upang paghiwalayin ang mga responsibilidad kapag nagprograma: nilikha nila ang wika ng CSS. Pinapayagan ng wikang CSS ang pagtatalaga at pag-iiba ng gawain ng bawat code, inaalis ang nakakapagod na aktibidad ng paulit-ulit o pagbabago ng isang buong code.

Spaghetti Code

Ang kaso ng HTML, hindi lamang nangyayari sa kanya; Karaniwan, upang lumikha ng iba't ibang mga pahina ay may posibilidad kang pagsamahin ang mga code, na tumutugon sa iba't ibang mga pag-andar. Ang mga code ay may posibilidad na magkasama upang ang nais ay maipakita, isang bagay na kapaki-pakinabang, subalit, sa pamamagitan ng paggawa ng kaunting pagkakamali sa ilan sa mga code, pinipilit nitong ulitin ang buong proseso.

Ang wikang ginamit, ay pinagsama at nagreresulta sa programmer na kinakailangang hakbang-hakbang sa pag-aayos ng mga bagay na, marahil, ay hindi nauugnay.

Ang lahat ng mga uri ng pagkakamali o sitwasyon ay malulutas ng isang simpleng paghihiwalay ng wika, na idinagdag na ang bawat isa ay nakatuon sa gawaing nasa kamay. Hindi lamang mayroong mga pagkakamali sa paghihiwalay, kundi pati na rin ang pagkadumi sa sandaling nais na muling gamitin ang isang code, na dating nahilo.

Kung ang parehong code ay gagamitin para sa isa pang programa o trabaho, kailangan itong gawin nang napakabagal, salamat sa MVC na hindi na ito kinakailangan, dahil muling ginamit ang code at kung ano ang nabuo sa isang sandali.

Ganito gumagana ang sistema ng MVC, isang simpleng representasyon kung paano nangyayari ang proseso

Panimula sa Tagapaglabas ng Model View

Mula sa simula ng artikulo naipaliwanag kung paano ito gumagana at kung bakit gumagana ang modelo, gayunpaman, ang bawat bahagi nito ay hindi pa partikular na naipaliwanag: Ang Model, The View at The Controller.

Ang modelo

Ito ang unang antas at nahahanap ang lahat ng data na nauugnay sa system at pagpapatakbo nito, iyon ay, hinahawakan nito ang nilalaman ng system, ang mga posibleng pag-update.

Mayroon ding «lohika sa negosyo», na binubuo ng kung paano iniimbak, binabago at binabago ng system ang impormasyon para sa visualization nito.

Pinapayagan ng modelo ang gumagamit na gamitin ang impormasyong kailangan nila, nang hindi kinakailangang maghanap sa pamamagitan ng walang katapusang mga file, kailangan lamang nilang pumasok at maipakita ito, sa pamamagitan ng «view», kung ano ang kailangan nila. Upang mabago ang isang bagay sa system o impormasyon, dapat kang dumaan sa "controller", na nagpapadala ng impormasyon sa modelo.

Karaniwan, ang impormasyon ay gumagana sa iba pang mga tagakontrol at, sa halip na gumamit ng SQL (isang sistema ng wika upang magkaroon ng kumpletong kontrol sa data), direktang naayos ito sa iba pang mga bahagi ng data, na binubuo ng klase at bagay nito.

La Vista

Ang view ay ang rung kung saan ang impormasyong ipinadala ng modelo ay kinakatawan para sa gumagamit, ipinapakita ang nilalaman sa isang interface ng optiko. Ang program code ay makikita, na kung saan ay gagana at ipapakita sa mga interface ng gumagamit.

Gumagana ang elementong ito sa mga HTML at PHP code, dahil ang mga ito ang pinakaangkop na mga code para sa pagbuo ng isang pahina, server, atbp. Ang mga code na ito ay ipinadala sa output, na kung saan ay ang kabuuang pagbabago ng impormasyong ipinadala ng modelo.

Ang tagakontrol

Ang tagakontrol ay ang nagbibigay ng mga sagot sa mga kahilingan ng gumagamit, na ginawa sa pamamagitan ng modelo. Ang mga kahilingan ay nauugnay sa impormasyon, mula sa pag-edit, paglikha o paghahanap ng anumang uri ng impormasyon.

Ito ay isang tool na nagbibigay-daan sa iyo upang i-edit kung paano ipinakita ang impormasyon, iyon ay, kung paano iproseso ang impormasyon at makikita sa "view", ito naman ay isang pagbabago sa kung paano ibibigay ng modelo ang impormasyon. Sa madaling salita, ang controller ay isang tulay sa pagitan ng modelo at ng view, na tumatanggap ng isang kahilingan at maaaring maabot ang view upang maipakita ito sa ibang paraan.

Ang tagakontrol ay siyang nagbibigay ng sagot para sa kung anong programa na ginawa o ang application na nilikha ng mga pangangailangan, ang pangwakas na layunin ay ang lahat ng impormasyon ay dumating mula sa simula hanggang sa paglabas nito.

ano ang mvc

Paano nakikipag-ugnayan ang mga sangkap?

Ang gawain ng bawat bahagi, tulad ng makikita, ay nabuo na ibinigay ng isang pagkakasunud-sunod at naiimpluwensyahan ng bawat isa ang gawain ng isa pa. Ang tagakontrol, sumali sa iba pa, na ginagawang mas daloy ang trabaho at ibinigay upang likhain ang programa o aplikasyon, gayunpaman, ito ay isang mas mahusay na paliwanag kung paano isinasagawa ang buong proseso:

  1. Nagsisimula ang gumagamit ng Internet na gamitin ang iba't ibang mga pagpipilian upang ipasok ang interface ng gumagamit, iyon ay, pinapasok niya ang pahina o server sa pamamagitan ng ilang mga pandagdag.
  2. Ang kahilingan ay natanggap ng controller, na nagpapadala ng mensahe sa view at sa modelo. Ang bawat kahilingan ay na-trigger sa pamamagitan ng isang handler ng kaganapan (isang Java o HTML code, na nagbibigay ng isang panlabas na tugon ng code).
  3. Upang makamit ng kahilingan ang kahilingan, pumasok sa modelo, kung saan ginagamit nito ang impormasyon at binago ang pagkilos para sa kung ano ang kailangan nito. Upang maisagawa ang ilang mga pagkilos, dapat gumamit ang tagakontrol ng iba't ibang mga naka-encode na code, sa maikli, isang pattern ng utos.
  4.  Sa ilang mga kaso, ang controller upang makamit ang kumpletong gawain ay gagamit ng mas maraming data mula sa modelo, na dapat itong ipadala upang matingnan, kumikilos bilang isang tulay.
  5. Ipinapadala ng tagontrol ang lahat ng impormasyon at ang pagkakasunud-sunod na ibinigay ng gumagamit ng Internet sa paningin, na dapat magpakita ng isang visualisasyon ng kung ano ang ninanais.
  6. Ang view, upang makapagbigay ng isang mahusay na visualization, ay gumagamit ng maraming impormasyon hangga't maaari mula sa modelo at sumasalamin sa lahat ng nasa loob nito.
  7. Dahil ang modelo ay hindi maaaring magkaroon ng impormasyon tungkol sa kung ano ang nangyayari sa pagtingin, gumagamit ito ng isang uri ng software na binalaan ito ng anumang pagbabago at, sa ganitong paraan, ginagawa ang kinakailangang pagbabago sa impormasyon o interface.
  8. Inuulit ng interface ang proseso depende sa bawat pakikipag-ugnay na mayroon ang gumagamit ng Internet sa bilang ng mga pagkilos na ginagawa niya.

Paano ito ginagamit sa mga web application?

Nang nilikha ang MVC software, naisip na ipatupad sa mga tool sa desktop, dahil ang operasyon at tugon nito ay magiging agaran. Ginawang posible ng mga pagsulong sa teknolohikal na iakma ang software sa mga virtual na aplikasyon, na namamahala upang tumugon nang hindi pa natukoy bilang mga programa sa desktop.

Ang MVC ay inangkop sa mga virtual na wika, na nakamit na ang iba't ibang mga antas ay maaaring maging kasuwato ng mga wika tulad ng HTML o JavaScript, bukod sa iba pa. Ginagamit ang mga Framework upang maipagkasundo ang arkitektura ng MVC, na bumubuo ng isa sa sarili nitong para sa web.

Ang arkitektura ng MVC para sa virtual na tugon ay ang "client at server", sa ganitong pamamaraan ang kliyente ay humihiling at ang server ang tatanggap, na magbibigay ng isang resulta o isang tugon sa kahilingan.

Sa simula, upang maipatupad ang ganitong uri ng mga arkitektura, ang pag-unlad ng web ay hindi kumpleto, samakatuwid, ang pokus ay para sa isang istrakturang "manipis na kliyente". Ang manipis na kliyente ay isang pangunahing istraktura, dahil ang tugon ay ibinibigay sa gitnang server at, samakatuwid, maaaring kaunti pa mamaya; ang link ng reply ay direkta sa pagitan ng input at output, nang walang anumang bridging o pagproseso.

Ang diskarte na ito ay napakahusay na nagtrabaho, ang lahat ay ibinibigay mula sa sandaling ipinasok ng gumagamit ng Internet ang link, mula noon sa aksyon na naglulunsad ng link, dumaan sa controller at nagbibigay ng order upang matingnan na ito ay sumasalamin sa imaheng kinakailangan ng gumagamit tingnan Ang tatlong mga bahagi ng MVC ay nasa virtual server, na kung saan ay ang magbibigay ng sagot.

MVC at mga database

Pinapayagan ng mga pagsulong sa teknolohiya ang pagbuo ng mga server at mga bagong wika na bumubuo ng isang mas mahusay na pag-unlad ng MVC, na nagpapahintulot sa tugon na maging mas kumplikado at mas direkta para sa gumagamit.

Upang magkaroon ng mahusay na pag-unlad ang mga aplikasyon, dapat mayroong isang database ang MVC na nagsisilbing suporta. Ang database ay isang sistema ng pamamahala para sa lahat ng impormasyon ng application, pagiging isang suporta para sa modelo, ginagawa itong iimbak o baguhin ang lahat ng kailangan nito.

Ang view at ang controller ay itinatago bukod sa database, dahil mayroong isang paghihiwalay sa pamamagitan ng mga layer, pinapayagan ang graphic na bahagi na ma-optimize sa pinakamahusay na paraan, na nagbibigay ng isang kumpletong visual na diskarte sa lahat ng impormasyon at bawat komplemento. Gagana sa iyong panig.

Kung nagustuhan mo ang artikulong ito, inaanyayahan kita na basahin ang "Mga uri ng pag-aayos sa programa", ipinapaliwanag ang buong kahalagahan nito sa pagbuo ng mga programa, alam kong magugustuhan mo ito.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Actualidad Blog
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.