Verkkosivusto on enemmän kuin se näyttää ulkopuolelta. Itse asiassa verkkosivuston rakenne vaihtelee yhtä paljon kuin itse verkkosivusto. Verkkosivusto on monimutkainen verkko monista komponenteista, jotka ovat vuorovaikutuksessa toistensa kanssa sovelluksen ajamiseksi. Otetaan esimerkiksi Facebook, joka on yksi monimutkaisimmista verkkosivustoista, joita käytämme melkein joka päivä. Siirry sen kotisivulle ja näet, että verkkosivusto käsittelee melkein tusinaa tietopyyntöä kerrallaan täyttääksesi sivun joukolla komponentteja. Voidaan helposti kuvitella, että logiikka, jolla komponentit ovat vuorovaikutuksessa keskenään Facebookin kaltaisen ohjelman suorittamiseksi, voi olla hyvin erilainen kuin muut verkkosivustot. Minkä tahansa verkkosivuston ydintoiminnot määritellään sillä helppoudella, jolla käyttöliittymä toimii sopivan mallin kanssa katsojan etsimien tietojen saamiseksi. MVC ja MVVM ovat kaksi suosittua suunnittelumallia ohjelmistokehityksen maailmassa.
MVC, lyhenne sanoista Model-View-Controller, on sovellussuunnittelumalli, jota käytetään yleisesti nykyaikaisten käyttöliittymien kehittämiseen. MVC-malli on nykyaikaisen olio-ohjelmistokehityksen ytimessä, kun se syntyi olosuhteisiin suuntautuneesta suunnittelijayhteisöstä. Se nimitettiin alun perin Thing-Model-View-Editor -sovellukseksi vuonna 1979, mutta myöhemmin yksinkertaistettiin ja nimettiin Model-View-Controller -nimeksi. Sitä käytetään pääasiassa mobiili- ja web-sovellusten suunnitteluun ja kehittämiseen. Se jakaa sovelluksen käyttöliittymän kolmeen erilliseen osaan: malli, näkymä ja ohjain.
Malli: Malli edustaa luokkaryhmää, joka kuvaa tietoja, joita aiot käyttää sovelluksessa. Se kuvaa tietojen yhteisen muodon, mutta voi myös sisältää liiketoimintasääntöjä, muunnoksia, vahvistuslogiikan ja useita muita toimintoja.
näkymä: Näkymä edustaa mallista näytettäviä tietoja. Se määrittelee kuinka sovelluksen käyttöliittymä näytetään. Mallissa voi olla useita näkymiä sovelluksesta riippuen. Näkymämalli kuvaa suunnittelun kannalta olennaisesti käyttöliittymän komponentteja, kuten HTML, jQuery ja niin edelleen.
ohjain: Ohjain on MVC-sovelluksen keskeinen osa, joka käsittelee käyttäjän viestintää tapahtumien, yleisen sovellusvirran ja sovelluskohtaisen logiikan muodossa. Sitten tapahtumat muunnetaan palvelupyynnöiksi ja siirretään malliin tai näkymään. Se on ainoa komponentti, jonka kautta käyttäjä on vuorovaikutuksessa järjestelmän kanssa.
Model-View-ViewModel tai MVVM on suosittu ohjelmistoarkkitehtuurimalli, jota käytetään yleisesti uudelleenkäytettävien ja helposti testattavien web-sovellusten kehittämiseen. MVVM perustuu MVC-malliin, mutta paranee MVC-malliin ottamalla käyttöön uusi luokka nimeltä ViewModel, joka hallinnoi näkymälle ominaista tietoa. MVVM-mallin keskeinen tavoite on, että malli ja View-komponentit todetaan todellinen. Mallin pääkomponentit ovat: Malli, View ja ViewModel.
Malli: Periaate pysyy samana kuin MVC-mallissa. Malli edustaa liiketoimintalogiikkaa ja tietoa ja määrittelee, kuinka tietoja pitäisi käsitellä.
näkymä: Näytä-malli edustaa näytettävää tietoa, mutta ei suorita mitään tietojen käsittelyä. Näkymä on sama kuin MVC: ssä, paitsi että tietojen sitoumukset on asetettava näkymälle, mikä tehdään lisäämällä ViewModel näkymään.
ViewModel: Se on mallin tärkein osa, koska se on suunniteltu hyödyntämään datan sitomistoimintoja, mikä itse asiassa auttaa pitämään näkymän erillään mallista ja toimii samalla ohjaimena helpottamaan viestintää Näytä- ja Malli-komponenttien välillä.
- Malli-näkymä-ohjain (MVC) on sovellussuunnittelumalli, jota käytetään yleisesti nykyaikaisten käyttöliittymien kehittämiseen. Se jakaa sovelluksen käyttöliittymän kolmeen erilliseen osaan: malli, näkymä ja ohjain. Model-View-ViewModel (MVVM) on puolestaan moderni versio MVC-mallista, jota käytetään yleisesti uudelleenkäytettävien ja helposti testattavien web-sovellusten kehittämiseen. MVVM-mallin pääkomponentit ovat Model, View ja ViewModel.
- Tärkein ominaisuus, joka erottaa MVVM: n muista ohjelmistojen suunnittelumallista, on datan sitominen, mikä on yksinkertaisesti mekanismi, joka yhdistää käyttöliittymän liiketoimintalogiikkaan. Se on keskeinen tekniikka, joka yhdistää näkymät niiden ViewModels-malleihin. Se varmistaa, että mallit ja ominaisuudet ovat tahdissa ViewModel-näkymän kanssa. Se eliminoi tarpeen altistaa koko malli näkymälle.
- Avainero kahden arkkitehtuurimallin välillä on se, että MVC: ssä ohjain vastaa mallin ja näkymän välisen viestinnän hallinnasta tapahtumien avulla, kun taas kehys suorittaa kaikki MVVM: n raskas nosto-ominaisuudet käyttämällä ominaisuutta, jota kutsutaan tiedon sitovaksi. ViewVodel -sovellus MVVM: ssä auttaa pitämään näkymän erillään mallista ja toimii samalla ohjaimena helpottamaan viestintää View- ja Model-komponenttien välillä.
Vaikka sekä MVC että MVVM ovat MVC-mallin johdannaisia, MVVM on moderni variantti MVC-mallista, joka esittelee uuden luokan nimeltä ViewModel, joka hallinnoi näkymälle ominaista tietoa. MVVM-mallin keskeinen tavoite on, että malli ja View-komponentit todetaan todellinen. MVC: ssä ohjain vastaa mallin ja näkymän välisen viestinnän hallinnasta. Kuitenkin MVVM: ssä ViewModel auttaa pitämään näkymän erillään mallista ja toimii myös ohjaimena helpottamaan kommunikaatiota komponenttien välillä.