MVC1 ja MVC2 ovat malleja, jotka ovat MVC:n (Model Controller View) lisäluokitus. Ne ovat kaksi erilaista ohjelmointi- tai suunnittelumallia, joita käytetään verkkosovellusten luomiseen. MVC1 on melko yksinkertainen sovellusmalli verrattuna MVC2:een. Nämä kaksi eroavat myös useista muista syistä, kuten tekniikasta, eduista ja haitoista.
MVC1 vs MVC2
Ero MVC1:n ja MVC2:n välillä on, että MVC1:ssä on vain yksi komponentti, joka vastaa tiedon keräämisestä ja vastaanottamisesta. Toisaalta MVC2:ssa on kaksi erillistä komponenttia tiedon vastaanottamiseen ja keräämiseen. Lisäksi MVC1-mallissa esityksen ja liiketoimintalogiikan välillä on yhteys. Sitä vastoin MVC2 eristää esityksen liiketoimintalogiikasta.
MVC1 on web-sovellusten suunnittelumalli, joka on otettu käyttöön yksinkertaisissa itsenäisissä ohjelmissa. Tässä mallissa sekä ohjain että malli ovat JSP. Lisäksi tiedon vastaanottamista ja keräämistä varten on yksi komponentti. Vaikka MVC1-malli tarjoaa helpon ymmärrettävyyden, malli on aikaa vievä ja vaikea laajentaa.
MVC2 on monimutkainen versio Model Controller View -näkymästä, jota käytetään verkkosovellusten suunnitteluun. MVC2-malli koostuu kolmesta osasta: malli, näkymä ja ohjain. Lisäksi malli mahdollistaa esityslogiikan eristämisen liiketoimintalogiikasta. MVC1 on helppo testata, ylläpitää ja laajentaa; se mahdollistaa huolenaiheiden tehokkaan erottamisen.
Vertailutaulukko MVC1:n ja MVC2:n välillä
Vertailuparametrit | MVC1 | MVC2 |
Määritelmä | MVC1 on ohjelmointimalli, jota voidaan käyttää web-sovellusten suunnittelussa yksinkertaisille itsenäisille ohjelmille. | MVC2 on suunnittelumalli, jolla on käyttöä suhteellisen suurempien verkkosovellusten suunnittelussa. |
Tekniikka | MVC1 käyttää vain JSP-tekniikkaa. | MVC2 käyttää sekä JSP- että Servlet-tekniikkaa. |
Esityslogiikan ja liiketoimintalogiikan suhde | MVC1-malli yhdistää esityslogiikan liiketoimintalogiikkaan. | MVC2-malli eristää esityslogiikan liiketoimintalogiikasta. |
Käytännöllinen käyttö | MVC1-mallia käytetään laajasti tutkimustarkoituksiin. | MVC2-mallia käytetään nykyään yleisesti verkkosovellusten luomiseen. |
Komponenttien uudelleenkäytettävyys | MVC1-malli ei salli komponenttien uudelleenkäyttöä. | MVC2-malli mahdollistaa komponenttien uudelleenkäytön. |
Mikä on MVC1?
Model 1 on helppo ja nopea suunnittelumalli verkkosovellusten kehittämiseen. Sillä on yksinkertainen arkkitehtoninen rakenne, joka tekee siitä helposti ymmärrettävän. MVC1 käyttää JSP-tekniikkaa web-sovellusten suunnitteluun. JSP:n etuna on, että se mahdollistaa esityksen ja liikelogiikan helpon erottamisen, mikä on usein Servlet-tekniikan ongelma.
MVC1-mallissa selain lähettää pyynnön JSP-sivulle, joka käyttää Java Beania. Tämän jälkeen Java Bean käyttää liiketoimintalogiikkaa ja muodostaa yhteyden tietokantaan ja tallentaa tiedot. Lopuksi selaimeen lähetetään vastaus, jonka JSP on luonut. On kuitenkin hyvin vähän sovelluksia, jotka käyttävät MVC1-arkkitehtuurimallia.
MVC1-mallissa sekä ohjain että malli ovat JSP. Lisäksi vain yksi komponentti vastaa vastausten vastaanottamisesta ja lähettämisestä MVC1-mallissa. Tällä mallilla on käytännöllinen sovellus yksinkertaisiin itsenäisiin ohjelmiin. Vaikka MVC1-malli tarjoaa helpon ymmärrettävyyden, siinä on joitain haittoja.
MVC1-malli on aikaa vievä, koska henkilön on kehitettävä mukautettuja tunnisteita JSP:ssä välttääkseen komentosarjatunnisteen käyttämisen. Toinen tämän mallin haittapuoli on, että sitä on vaikea laajentaa. Siksi MVC1-malli on käytettävissä pienissä sovelluksissa pidempien sijaan. Yhteenvetona voidaan todeta, että MVC1 on ihanteellinen malli vain opiskelutarkoituksiin tänään.
Mikä on MVC2?
MVC2 on MVC:n alaluokka, jolla on suhteellisen monimutkainen suunnittelumalli. Malli koostuu kahdesta komponentista vastausten vastaanottamista ja lähettämistä varten. Lisäksi malli mahdollistaa esityslogiikan eristämisen liiketoimintalogiikasta. Tämän seurauksena sekä web-suunnittelija että kehittäjä voivat käyttää verkkosovellusta samanaikaisesti.
Model View Controlleriin perustuva MVC2-malli koostuu kolmesta osasta, jotka ovat malli, näkymä ja ohjain. Malli palvelee sovelluksen liiketoimintalogiikan ja vaihetietojen esittämistä. Näkymäkomponentti edustaa esitystä, ja ohjain vastaanottaa syötteitä. Sitten se käskee mallia/näkymää muuttamaan ohjeiden mukaan.
MVC2-malli tarjoaa useita etuja. Se on helppo testata, ylläpitää ja laajentaa. Lisäksi se mahdollistaa huolenaiheiden erottamisen tehokkaasti. Yksi haittapuoli kuitenkin on. Käyttäjän tulee kirjoittaa ohjainkoodi itse. Ohjauskoodin muutos edellyttää sitten sovelluksen luokan uudelleenjärjestelyn uudelleenkääntämistä.
MCV1-mallissa ohjain käyttää servlet-tekniikkaa ja malli on java-luokka. MVC1-malli mahdollistaa komponenttien uudelleenkäytettävyyden. Se on ylivoimaisesti yksi yleisimmistä suunnittelumalleista verkkosovellusten luomiseen.
Tärkeimmät erot MVC1:n ja MVC2:n välillä
Johtopäätös
Sekä MVC1- että MVC2-mallien monimutkaisuus, teknologia, komponenttien uudelleenkäytettävyys ja edut vaihtelevat valtavasti. Vaikka MVC1 on helppo ymmärtää ja käyttää, MVC2-malli on suhteellisen monimutkainen. Lisäksi MVC1-malli käyttää vain JSP-tekniikkaa. Toisaalta MVC2 käyttää Java-luokka- ja servlet-tekniikkaa.
MVC1-malli ei salli komponenttien uudelleenkäyttöä. Sitä vastoin MVC2 tarjoaa komponenttien uudelleenkäytettävyyden. Vaikka MVC1-malli soveltuu hyvin opiskelutarkoituksiin, MVC2-mallia käytetään tällä hetkellä massiivisessa mittakaavassa. Yhteenvetona voidaan todeta, että MVC1 ja MVC2 ovat malleja, joiden ominaisuudet ja arkkitehtuuri vaihtelevat.