Model-View-ViewModel (MVVM)
Model-View-ViewModel (MVVM) -patternin avulla saadaan erotettua käyttöliittymä ohjelman muusta toimintalogiikasta. Tämä helpottaa ohjelman ylläpitoa ym.
Aiheeseen liittyen kannattaa lukea: Malli-näkymä-arkkitehtuurin soveltaminen WPF-teknologialla
Sovellus jaetaan kolmeen eri luokkaan:
- View (näkymä) - joka sisältää käyttöliittymän ja siihen liittyvän logiikan
- ViewModel (näkymämalli) -joka sisältää ohjelman tilan ja yhdistää näkymän ja mallin. ViewModel tarjoaa näkymälle tarvittavan rajapinnan toiminnoille ja tiedon esittämiselle.
- Model (malli) - joka sisältää bisneslogiikan ja datan. ViewModel pääsee käsiksi Modeliin mutta View ei pääse muuten kuin ViewModelin kautta.
View (näkymä)
Näkymä hoitaa käyttöliittymän. Parhaassa tapauksessa View ei sisällä yhtään ohjelmakoodia vaan kaikki kyetään ilmaisemaan XAMLin avulla.
Näkymän datacontextiksi asetetaan näkymämalli. Näkymämalli sisältää propertyt ja komennot joita näkymä voi käyttää. Näkymän kontrollit sidotaan (bind) suoraan näkymämallin tarjoamiin propertyihin ja komentoihin.
ViewModel (näkymämalli)
Näkymämalli kapseloi esityslogiikan ja datan näkymää varten. Näkymämalli ei tiedä mitään näkymän toteutuksesta. Näkymämallin propertyt ja komennot määrittävät mitä toimintoja näkymä tarjoaa mutta näkymä päättää miten nämä esitetään.
Näkymämalli koordinoi toiminnan malliluokkien kanssa. Näkymämalli voi sallia suoran yhteyden mallin ja näkymän välillä jos malli mahdollistaa suoran bindauksen.
Model (Malli)
Malli sisältää ohjelman datan ja bisneslogiikan.
Prism.Mvvm-kirjasto
Prism.Mvvm-kirjaston avulla voi helpottaa Mvvm-mallin käyttöä
- Valitse Visual Studiossa Tools|NuGet Package Manager|Package Manager Console
- Kirjoita konsoliin komento: Install-Package Prism.Mvvm
- Lisää koodiin: using Microsoft.Practices.Prism.Mvvm;
Tarkempaa tietoa: Implementing the MVVM Pattern Using the Prism Library 5.0 for WPF ja Getting started using Prism for the Windows Runtime
Käyttäjien kommentit