Skip to main content

Ano ang Model-View-Controller?

Model-view-controller (MVC) ay isang uri ng arkitektura ng software at pattern ng disenyo na mga segment ng bawat elemento ng isang programa sa mahusay na tinukoy na mga lugar ng pag-andar.Sa arkitektura ng model-view-controller, ang modelo ay tumatalakay sa lahat ng panloob na lohika ng programa na manipulahin, makatipid, kumukuha at kung hindi man ay humahawak at kinakalkula ang data.Ang aspeto ng view ay may pananagutan para sa pagpapakita ng impormasyon mula sa modelo para sa gumagamit, at nagbibigay din ito ng isang paraan para magbigay ang gumagamit ng input sa programa.Ang controller ay tumatagal ng input mula sa view, tinatasa o kung hindi man ay pinoproseso ito at nakikipag -ugnay sa modelo upang baguhin ang data o estado ng programa, na sa huli ay ipinapakita sa gumagamit sa pamamagitan ng view.Bagaman ang mga modelo ng disenyo-controller na disenyo ay tumawag para sa isang programa upang ma-encapsulate ang pag-andar, ang tatlong mga seksyon ay kailangan pa ring makipag-ugnay sa isa't isa sa ilang paraan at sa pangkalahatan ay nakasalalay sa isa't isa sa ilang kahulugan, hindi katulad ng iba pang mas agresibong mga pattern ng disenyo.

Kadalasan, ang pattern ng model-view-controller ay makikita sa mga application na namamahala ng isang graphic na interface ng gumagamit (GUI).Gamit ang pattern ng MVC, ang iba't ibang mga visual na elemento ng GUI ay hinahawakan ng view, ang pag -record at pagproseso ng kung saan at kung ano ang isang pag -click sa gumagamit ay hinahawakan ng magsusupil, at aktwal na pagbabago ng impormasyon o impormasyon sa pag -load ay ginagawa ng modelo.Depende sa eksaktong disenyo ng isang application, ang bawat bahagi ng pattern ng MVC ay maaaring magkaroon ng isang mekanismo upang makipag -ugnay sa iba pangController na ito ay nagre -refresh sa screen at hindi upang tanggapin ang bagong input.Hindi tulad ng ilang mga pattern ng disenyo na kumukuha ng isang mahigpit na diskarte sa itim na kahon, ang mga programa ng model-view-controller ay may posibilidad na maging bahagyang mas nababaluktot, bagaman ang ilang mga pagpapatupad ay maaaring gumawa ng isang programa ng MVC na mahirap baguhin o i-debug nang modular.Ang pattern ng view-controller ay hindi kailangang maglaman lamang ng isa sa bawat sangkap.Ang isang halimbawa ay isang application na may maraming mga view, tulad ng maraming monitor, o isang display na makikita sa maraming mga aparato ng kliyente.Maramihang mga view at controller ay maaaring magamit sa isang application na nagbibigay -daan sa maraming mga gumagamit na ma -access ang isang database, lahat ay sumasagot sa isang solong modelo.Gayunman, ito ay mas karaniwan, upang magdisenyo ng mga sistema na nagpapanatili ng isang-sa-isang ratio ng mga sangkap na kontrol ng model-view-controller.Upang baguhin ang ilang mga bahagi ng isang system na gumagamit ng pattern ng MVC kaysa sa kung walang pattern na ginamit, lalo na sa kaso ng mga application na hindi nakatuon sa object.Kung ang isang application ay gumagamit ng mga callback o tagapakinig at tagamasid upang maipatupad ang mga pakikipag -ugnayan sa pagitan ng mga sangkap, kung gayon ang bawat sangkap ay maaaring mabago nang hindi nakakaapekto sa iba pang dalawa.Nangangahulugan ito na ang isang bagong GUI ay maaaring ipatupad nang hindi nakakaapekto sa modelo o magsusupil.Dapat pansinin, gayunpaman, na ang mga pangunahing pagbabago sa isang sistema ng model-view-controller ay maaaring mangailangan ng kaunting halaga ng muling pag-cod para sa bawat indibidwal na sangkap.