MVC1 vs MVC2
MVC on tegelikult kujundusmuster, mida saab täiendavalt jagada kahte mudelisse: MVC mudel 1 ja MVC mudel 2. Lühendatult on need MVC1 ja MVC2, mis on mõlemad Java disainimudelid.
MVC2 on tegelikult keerukam muster, kus esitluse juhtimisloogika ja rakenduse olek eraldatakse. Seega, erinevalt MVC1 arhitektuurist, ei ole Model 2-l lehekeskseid omadusi. Mudelil 2 on ka üks kontroller, mis vastutab kõigi sissetulevate taotluste eest, selgitab välja, mis järgmisena ilmub ja millist vaadet kuvada. MVC2-s läbiksid järgmise etapi või vaate JSP-lehtede lingid ka kontrolleri, mitte MVC1, kus JSP-leht viib otse JSP-lehele.
Nii et põhimõtteliselt koosneb MVC1 enamasti juhtelementidest, mis kasutavad JSP-d, samas kui MVC2 kasutab JSP-d ja Servletit, mis usutakse olevat kasutajaliidese pakkumisel parem kui mudel 1. MVC1 kasutab andmete saamiseks ka Java obe.
Kahe mudeli süsteemide erinevus ilmneb lehtede töötlemise ja kuvamise osas. Edasiseks selgitamiseks alustab MVC1 taotlusega, mille võtab vastu JSP, mis töötab koos oaga - need kaks kombineeritud töötlevad loogikat tulemuste saamiseks. Töö jagatakse kahe vahel, kuna oad võtavad modelli rolli, samas kui JSP pole mitte ainult „kontroller”, vaid ka „vaade”. Seda tüüpi otsene juurdepääs lehtede vahel muudab MVC1 mudeli ideaalseks väiksemate rakenduste jaoks.
Teisest küljest kasutatakse MVC2-d tavaliselt selle tsentraliseerimisfunktsiooni tõttu suuremates või interaktiivsetes rakendustes. Erinevalt MVC1-st, kus kuvatav praegune leht määrab järgmise avatava lehe, kasutab MVC2 arhitektuur brauseri ja Servleti või JSP-lehtede vahelist kontrollerit. Nagu mainitud, toimib kontroller peamise vahekäiguna, kus taotlused läbitakse, et sillutada teed järgmisele vaatele. Mudel 2 eraldab põhimõtteliselt need JSP-lehed ja servletid üksteisest, samal ajal kui mudel 1 hoiab neid kõiki omavahel ühendatud. Seega on MVC2-d paljude kasutajate jaoks hõlpsam manipuleerida ning see on võimeline toetama keerukamat süsteemi.
Praegu kasutavad MVC1 oma arhitektuuri kujundamisel siiski väga vähesed rakendused. Kuna nõudmised veebisirvimise järele on tõusnud, on normiks kasutada MVC2-d ükskõik millistes programmides. Tõsiasi, et MVC1 on lõputult lihtne, tähendab muidugi, et see on endiselt õpingute jaoks lemmik. Kuid praktilisi rakendusi ei kasutata enam nii sageli kui MVC2.
Üks tänapäeval levinud väärarusaamu hõlmab MVC1 ja MVC2 kasutamist. Enamik inimesi usub, et MVC2 on tegelikult MVC uus versioon, kuid fakt on see, et see on alamkategooria või mõni muu viis protsessile lähenemiseks, sellest ka nimi Mudel 2. Sel põhjusel loodi fraas MVC1, et eristada kaks mudelit.
Ideaalis peaksid need, kes soovivad tarkvaraarhitektuuri omandada, valida ainult MVC2 asemel MVC mõlemad aspektid. See annaks kogu süsteemist parema ülevaate, arvestades esmakordselt MVC1 kasutuselevõttu.
Kokkuvõte:
1.MVC2 kasutab süsteemikontrolli, MVC1 aga mitte.
2. MVC1 protsess liigub ühelt JSP lehelt teisele, samas kui MVC2 suunab ühisele paneelile enne teisele lehele suunamist.
3.MVC1 kasutatakse tänapäeval harva ja see on enamasti hea lihtsate eraldiseisvate programmide jaoks.
4.MVC2 on tänapäeval kõige tavalisem arhitektuurimudel ja sobib kõige paremini keerukamate süsteemide jaoks.