Ang materyal na ito ay bahagi ng seryeng "Introduction to Enterprise Development". Mga nakaraang artikulo:
- tungkol sa networking
- tungkol sa arkitektura ng software
- tungkol sa HTTP/HTTPS
- tungkol sa mga pangunahing kaalaman ng Maven
- tungkol sa mga servlet (pagsusulat ng isang simpleng web application)
- tungkol sa mga lalagyan ng servlet
Kasaysayan ng MVC
Ang mga ideya sa likod ng MVC ay binuo ni Trygve Reenskaug habang nagtatrabaho sa Xerox PARC noong huling bahagi ng 1970s. Sa mga araw na iyon, ang pagtatrabaho sa mga computer ay nangangailangan ng isang degree at patuloy na pag-aaral ng napakaraming dokumentasyon. Ang gawaing nalutas ni Reenskaug kasama ang isang grupo ng napakalakas na developer ay ang pasimplehin ang pakikipag-ugnayan ng isang ordinaryong user sa computer. Kinailangan na lumikha ng mga tool na, sa isang banda, ay magiging sobrang simple at naiintindihan, at sa kabilang banda, gagawing posible na kontrolin ang mga computer at kumplikadong mga application. Nagtrabaho si Reenskaug sa isang team na bumuo ng laptop computer "para sa mga bata sa lahat ng edad" — ang Dynabook, pati na rin ang SmallTalk na wika sa ilalim ng pamumuno ni Alan Kay. Iyon ay kapag ang mga konsepto ng isang friendly na interface ay inilatag. Sa maraming aspeto, ang gawaing ginawa ni Reenskaug at ng kanyang koponan ay nakaimpluwensya sa ebolusyon ng IT sphere. Narito ang isang kawili-wiling katotohanan na hindi direktang naaangkop sa MVC, ngunit inilalarawan ang kahalagahan ng mga pag-unlad na ito. Alan Kaysabi, "Noong una akong nakarating sa Apple, na noong '84, nakalabas na ang Mac at nakipag-ugnayan sa akin ang Newsweek at tinanong ako kung ano ang tingin ko sa Mac. Sabi ko, 'Buweno, ang Mac ang unang personal na computer na sapat na mapintasan.' Kaya, pagkatapos ianunsyo ang iPhone noong 2007, dinala niya ito sa akin at ibinigay sa akin. Sabi niya, 'Alan, sapat na ba ito para punahin?' At sinabi ko, 'Steve, gawin itong kasing laki ng isang tablet at mamamahala ka sa mundo.'" Pagkalipas ng 3 taon, noong Enero 27, 2010, ipinakilala ng Apple ang iPad na may diagonal na 9.7 pulgada. Sa madaling salita, halos eksaktong sinunod ni Steve Jobs ang payo ni Alan Kay. Ang proyekto ni Reenskaug ay tumagal ng 10 taon. Ngunit ang unang publikasyon tungkol sa MVC ay nahayag pagkatapos ng isa pang 10 taon. Martin Fowler, may-akda ng ilang mga libro at artikulo sa arkitektura ng software, binanggit na nag-aral siya ng MVC gamit ang isang gumaganang bersyon ng Smalltalk. Dahil walang impormasyon tungkol sa MVC mula sa orihinal na pinagmulan sa loob ng mahabang panahon, at para sa ilang iba pang mga kadahilanan, isang malaking bilang ng iba't ibang mga interpretasyon ng konseptong ito ang lumitaw. Bilang resulta, itinuturing ng marami ang MVC bilang isang pattern ng disenyo. Hindi gaanong karaniwan, ang MVC ay tinatawag na isang composite pattern o isang kumbinasyon ng ilang mga pattern na nagtutulungan upang lumikha ng mga kumplikadong application. Ngunit, gaya ng nabanggit kanina, ang MVC ay talagang pangunahing isang hanay ng mga ideya/prinsipyo/diskarte sa arkitektura na maaaring ipatupad sa iba't ibang paraan gamit ang iba't ibang pattern... Susunod, isasaalang-alang natin ang mga pangunahing ideya na naka-embed sa konsepto ng MVC. at para sa ilang iba pang mga kadahilanan, isang malaking bilang ng iba't ibang mga interpretasyon ng konseptong ito ay lumitaw. Bilang resulta, itinuturing ng marami ang MVC bilang isang pattern ng disenyo. Hindi gaanong karaniwan, ang MVC ay tinatawag na isang composite pattern o isang kumbinasyon ng ilang mga pattern na nagtutulungan upang lumikha ng mga kumplikadong application. Ngunit, gaya ng nabanggit kanina, ang MVC ay talagang pangunahing isang hanay ng mga ideya/prinsipyo/diskarte sa arkitektura na maaaring ipatupad sa iba't ibang paraan gamit ang iba't ibang pattern... Susunod, isasaalang-alang natin ang mga pangunahing ideya na naka-embed sa konsepto ng MVC. at para sa ilang iba pang mga kadahilanan, isang malaking bilang ng iba't ibang mga interpretasyon ng konseptong ito ay lumitaw. Bilang resulta, itinuturing ng marami ang MVC bilang isang pattern ng disenyo. Hindi gaanong karaniwan, ang MVC ay tinatawag na isang composite pattern o isang kumbinasyon ng ilang mga pattern na nagtutulungan upang lumikha ng mga kumplikadong application. Ngunit, gaya ng nabanggit kanina, ang MVC ay talagang pangunahing isang hanay ng mga ideya/prinsipyo/diskarte sa arkitektura na maaaring ipatupad sa iba't ibang paraan gamit ang iba't ibang pattern... Susunod, isasaalang-alang natin ang mga pangunahing ideya na naka-embed sa konsepto ng MVC.MVC: Mga pangunahing ideya at prinsipyo
- Ang VC ay isang hanay ng mga ideya at prinsipyo sa arkitektura para sa pagbuo ng mga kumplikadong sistema ng impormasyon na may user interface
- Ang MVC ay isang abbreviation na nangangahulugang: Model-View-Controller
Hakbang 1. Ihiwalay ang lohika ng negosyo ng application mula sa user interface
Ang pangunahing ideya ng MVC ay ang anumang application na may user interface ay maaaring nahahati sa 2 module: isang module na responsable para sa pagpapatupad ng business logic, at ang user interface. Ipapatupad ng unang module ang pangunahing functionality ng application. Ang module na ito ay ang core ng system, kung saan ipinatupad ang modelo ng domain ng application. Sa paradigm ng MVC, ang modyul na ito ay ang titik M, ibig sabihin, ang modelo. Ang pangalawang module ay nagpapatupad ng buong user interface, kabilang ang logic upang ipakita ang data sa user at pangasiwaan ang pakikipag-ugnayan ng user sa application. Ang pangunahing layunin ng paghihiwalay na ito ay upang matiyak na ang core ng system (ang "modelo" sa terminolohiya ng MVC) ay maaaring independiyenteng mabuo at masuri. Pagkatapos gawin ang paghihiwalay na ito, ganito ang hitsura ng arkitektura ng application:Hakbang 2 Gamitin ang pattern ng tagamasid upang gawing mas independyente ang modelo at upang i-synchronize ang mga interface ng gumagamit
Narito mayroon kaming 2 layunin:- Makamit ang mas higit na kalayaan para sa modelo
- I-synchronize ang mga interface ng gumagamit
Hakbang 3 Paghiwalayin ang interface sa view at controller
Patuloy naming hinahati ang application sa mga module, ngunit ngayon ay nasa mas mababang antas sa hierarchy. Sa hakbang na ito, ang user interface (na pinaghiwalay namin sa isang natatanging module sa hakbang 1) ay nahahati sa isang view at isang controller. Ang pagguhit ng isang mahigpit na linya sa pagitan ng view at ng controller ay mahirap. Kung sasabihin namin na ang view ay kung ano ang nakikita ng user, at ang controller ay ang mekanismo na nagpapahintulot sa user na makipag-ugnayan sa system, maaari mong ituro ang isang kontradiksyon. Ang mga elemento ng kontrol, gaya ng mga button sa isang web page o isang virtual na keyboard sa screen ng telepono, ay karaniwang bahagi ng controller. Ngunit nakikita ng user ang mga ito gaya ng anumang bahagi ng view. Ang talagang pinag-uusapan natin dito ay functional separation. Ang pangunahing gawain ng user interface ay upang mapadali ang pakikipag-ugnayan ng user sa system.- output at maginhawang ipakita ang impormasyon ng system sa user
- ipasok ang data ng user at mga utos (ipaalam ang mga ito sa system)
- Ayon sa mga prinsipyo ng paradigm ng MVC, ang isang sistema ay dapat nahahati sa mga module.
- Ang pinakamahalaga at independiyenteng modyul ay dapat ang modelo.
- Ang modelo ay ang core ng system. Ito ay dapat na posible na bumuo at subukan ito nang nakapag-iisa mula sa user interface.
- Upang makamit ito, sa unang hakbang ng paghahati, kailangan nating hatiin ang system sa isang modelo at user interface.
- Pagkatapos, gamit ang pattern ng tagamasid, pinalalakas namin ang kalayaan ng modelo at sini-synchronize namin ang mga interface ng gumagamit.
- Ang ikatlong hakbang ay upang hatiin ang user interface sa isang controller at view.
- Ang lahat ng kailangan para matanggap ang data ng user sa system ay nasa controller.
- Ang lahat ng kailangan para sa paghahatid ng impormasyon sa user ay nasa view.
GO TO FULL VERSION