Tutorial sa Framework ng MVC para sa mga Nagsisimula: Ano ang, Arkitektura at Halimbawa

Ano ang Framework ng MVC?

Ang Model-View-Controller (MVC) ang balangkas ay isang pattern ng arkitektura na naghihiwalay sa isang application sa tatlong pangunahing lohikal na mga bahagi ng Model, View, at Controller. Samakatuwid ang pagpapaikli MVC. Ang bawat bahagi ng arkitektura ay binuo upang hawakan ang tukoy na aspeto ng pag-unlad ng isang application. Pinaghihiwalay ng MVC ang lohika sa negosyo at layer ng pagtatanghal sa bawat isa. Tradisyonal na ginamit ito para sa mga desktop graphic user interface (GUI). Ngayon, ang arkitektura ng MVC sa teknolohiyang web ay naging tanyag para sa pagdidisenyo ng mga aplikasyon sa web pati na rin mga mobile app.

Sa tutorial na MVC na ito, malalaman mo ang tungkol sa mga pangunahing kaalaman sa MVC-

Kasaysayan ng MVC

  • Ang arkitektura ng MVC ay unang tinalakay noong 1979 ni Trygve Reenskaug
  • Ang modelo ng MVC ay unang ipinakilala noong 1987 sa wikang programa sa Smalltalk.
  • Ang MVC ay unang tinanggap bilang isang pangkalahatang konsepto, sa isang artikulo noong 1988
  • Sa kamakailang oras, ang pattern ng MVC ay malawakang ginagamit sa mga modernong application ng web

Mga tampok ng MVC

  • Madali at hindi madaling pagsubok. Lubhang nasusubukan, napapalawak at nasusukol na balangkas
  • Upang magdisenyo ng isang arkitektura ng web application gamit ang pattern ng MVC, nag-aalok ito ng buong kontrol sa iyong HTML pati na rin ang iyong mga URL
  • Gumamit ng mga mayroon nang tampok na ibinigay ng ASP.NET, JSP, Django, atbp.
  • Malinaw na paghihiwalay ng lohika: Model, View, Controller. Paghihiwalay ng mga gawain sa aplikasyon viz. negosyo lohika, Ul lohika, at input lohika
  • Pagruruta ng URL para sa mga URL na Friendly ng SEO. Mabisang URL- pagmamapa para sa naiintindihan at nahahanap na mga URL
  • Sinusuportahan para sa Test Driven Development (TDD)

Arkitektura ng MVC

Narito ang detalyadong arkitektura ng balangkas ng MVC:

Diagram ng Architecture ng MVC



pinakamahusay na java programming book para sa mga nagsisimula

Tatlong mahalagang MVC ang mga bahagi ay:

  • Model: Kasama rito ang lahat ng data at ang kaugnay na lohika
  • Tingnan: Ipakita ang data sa gumagamit o humahawak sa pakikipag-ugnayan ng gumagamit
  • Controller: Isang interface sa pagitan ng mga bahagi ng Model at View

Tingnan natin ang bawat isa sa sangkap na ito nang detalyado:

Tingnan

Ang isang View ay ang bahagi ng application na kumakatawan sa pagtatanghal ng data.

Ang mga panonood ay nilikha ng data na nakolekta mula sa data ng modelo. Hinihiling ng isang view ang modelo na magbigay ng impormasyon upang masusuka ito sa output na pagtatanghal sa gumagamit.

Kinakatawan din ng view ang data mula sa mga chat, diagram, at table. Halimbawa, ang anumang pagtingin sa customer ay isasama ang lahat ng mga bahagi ng UI tulad ng mga text box, drop down, atbp.

Controller

Ang Controller ay ang bahagi ng application na humahawak sa pakikipag-ugnay ng gumagamit. Binibigyang kahulugan ng controller ang mga pag-input ng mouse at keyboard mula sa gumagamit, na ipinagbibigay-alam sa modelo at ang pagtingin na baguhin kung naaangkop.

Ang mga utos ng isang Controller send sa modelo upang i-update ang estado nito (hal., Pagse-save ng isang tukoy na dokumento). Nagpapadala din ang controller ng mga utos sa nauugnay na pagtingin nito upang baguhin ang pagtatanghal ng view (Halimbawa ng pag-scroll sa isang partikular na dokumento).

Modelo

Ang sangkap ng modelo ay nag-iimbak ng data at ang kaugnay na lohika. Kinakatawan nito ang data na inililipat sa pagitan ng mga bahagi ng controller o anumang iba pang nauugnay na lohika sa negosyo. Halimbawa, ang isang bagay na Controller ay kukuha ng impormasyon ng customer mula sa database. Ginagawa nito ang data at ibabalik sa database o ginagamit ito upang mai-render ang parehong data.

Tumutugon ito sa kahilingan mula sa mga panonood at tumutugon din sa mga tagubilin mula sa controller upang i-update ang sarili nito. Ito rin ang pinakamababang antas ng pattern na responsable para sa pagpapanatili ng data.

Mga Halimbawa ng MVC

Tingnan natin ang halimbawa ng Model View Controller mula sa pang-araw-araw na buhay:

Halimbawa 1:

  • Ipagpalagay na pupunta ka sa isang restawran. Hindi ka pupunta sa kusina at maghanda ng pagkain na tiyak na magagawa mo sa iyong bahay. Sa halip, pumunta ka lang doon at hintaying dumating ang waiter.
  • Ngayon ang waiter ay dumating sa iyo, at mag-order ka lang ng pagkain. Hindi alam ng waiter kung sino ka at kung ano ang gusto mo isinulat lamang niya ang detalye ng iyong order sa pagkain.
  • Pagkatapos, ang waiter ay lumipat sa kusina. Sa waiter ng kusina huwag ihanda ang iyong pagkain.
  • Inihahanda ng tagapagluto ang iyong pagkain. Ang waiter ay binibigyan ng iyong order sa kanya kasama ang iyong numero ng talahanayan.
  • Magluto pagkatapos ay naghanda ng pagkain para sa iyo. Gumagamit siya ng mga sangkap upang magluto ng pagkain. Ipagpalagay natin na ang iyong order ng isang gulay na sanwits. Pagkatapos ay kailangan niya ng tinapay, kamatis, patatas, capsicum, sibuyas, kaunting, keso, atbp na pinagkukunan niya mula sa ref
  • Lutuin ang pangwakas na ibigay ang pagkain sa waiter. Trabaho ngayon ng waiter na ilipat ang pagkaing ito sa labas ng kusina.
  • Ngayon alam ng waiter kung aling pagkain ang iyong naorder at kung paano sila hinahain.

Sa halimbawang ito ng MVC na arkitektura,

 View= You Waiter= Controller Cook= Model Refrigerator= Data 

Hayaan ang makita ang isa pang halimbawa ng modelo ng MVC,

Halimbawa 2:

Ang mekanismo ng pagmamaneho ng kotse ay isa pang halimbawa ng modelo ng MVC.

  • Ang bawat kotse ay binubuo ng tatlong pangunahing mga bahagi.
  • View = User interface: (Gear pingga, mga panel, manibela, preno, atbp.)
  • Controller- Mekanismo (Engine)
  • Model- Storage (Petrol o tanke ng Sakit)

Ang kotse ay tumatakbo mula sa engine na kumuha ng gasolina mula sa imbakan, ngunit tumatakbo lamang ito gamit ang mga nabanggit na mga aparato ng interface ng gumagamit.

Mga tanyag na balangkas ng web MVC

Narito, ang isang listahan ng ilang mga tanyag na balangkas ng MVC:

Mga kalamangan ng MVC: Mga pangunahing Pakinabang

Narito, ang mga pangunahing pakinabang ng paggamit ng arkitektura ng MVC:

  • Madaling pagpapanatili ng code madaling mapalawak at lumago
  • Ang bahagi ng MVC Model ay maaaring masubukan nang hiwalay mula sa gumagamit
  • Mas madaling suporta para sa bagong uri ng mga kliyente
  • Ang pag-unlad ng iba't ibang mga bahagi ay maaaring maisagawa nang parallel.
  • Tinutulungan ka nitong maiwasan ang pagiging kumplikado sa pamamagitan ng paghahati ng isang application sa tatlong mga yunit. Model, view, at controller
  • Gumagamit lamang ito ng isang pattern ng Front Controller na nagpoproseso ng mga kahilingan sa aplikasyon ng web sa pamamagitan ng isang solong controller.
  • Nag-aalok ng pinakamahusay na suporta para sa pag-unlad na hinimok ng pagsubok
  • Gumagana ito nang maayos para sa mga Web app na sinusuportahan ng malalaking pangkat ng mga web designer at developer.
  • Nagbibigay ng malinis na paghihiwalay ng mga alalahanin (SoC).
  • Friendly ang Search Engine Optimization (SEO).
  • Ang lahat ng klase at mga bagay ay malaya sa bawat isa upang masubukan mo silang hiwalay.
  • Pinapayagan ng pattern ng disenyo ng MVC ang lohikal na pagpapangkat ng mga kaugnay na aksyon sa isang tagakontrol nang magkakasama.

Mga hindi pakinabang ng paggamit ng MVC

  • Mahirap basahin, baguhin, sa pagsubok sa yunit, at muling gamitin ang modelong ito
  • Ang pag-navigate sa balangkas ay maaaring maging isang kumplikadong oras dahil ipinakikilala nito ang mga bagong layer ng abstraction na nangangailangan ng mga gumagamit na umangkop sa mga pamantayan ng agnas ng MVC.
  • Walang suporta sa pormal na pagpapatunay
  • Tumaas na pagiging kumplikado at Kakayahan ng data
  • Ang kahirapan sa paggamit ng MVC sa modernong interface ng gumagamit
  • Mayroong pangangailangan para sa maraming mga programmer upang magsagawa ng parallel programming.
  • Ang kaalaman sa maraming teknolohiya ay kinakailangan.
  • Pagpapanatili ng maraming mga code sa Controller

3-tier Architecture kumpara sa MVC Architecture

Parameter 3-Tier Architecture Arkitektura ng MVC
KomunikasyonAng ganitong uri ng pattern ng arkitektura ay hindi kailanman nakikipag-ugnay nang direkta sa layer ng data.Ang lahat ng mga layer ay direktang nakikipag-usap gamit ang triangle topology.
Paggamit3-tier: malawakang ginagamit sa mga application ng web kung saan ang client, data tiers, at middleware ay tumatakbo sa mga magkakahiwalay na platform.Pangkalahatang ginagamit sa mga application na tumatakbo sa isang solong grapikong workstation.

Buod

  • Ang MVC ay isang pattern ng arkitektura na naghihiwalay sa isang application sa 1) Model, 2) View at 3) Controller
  • Model: Kasama rito ang lahat ng data at ang kaugnay na lohika
  • Tingnan: Ipakita ang data sa gumagamit o humahawak sa pakikipag-ugnayan ng gumagamit
  • Controller: Isang interface sa pagitan ng mga bahagi ng Model at View
  • Ang arkitektura ng MVC ay unang tinalakay noong 1979 ni Trygve Reenskaug
  • Ang arkitektura ng MVC sa Java ay isang lubos na nasusubukan, napapalawak at nasusukol na balangkas
  • Ang ilang mga tanyag na balangkas ng MVC ay Riles, Zend Framework, CodeIgniter, Laravel, Fuel PHP, atbp.