Model-View-ViewModel
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 8 juni 2021; kontroller kräver
6 redigeringar .
Model-View-ViewModel (MVVM) är ett designmönster för applikationsarkitektur. Introducerades 2005 av John Gossman som en modifiering av presentationsmodellmallen. Fokuserar på moderna utvecklingsplattformar som Windows Presentation Foundation , Silverlight från Microsoft [1] , ZK framework .
Utnämning
Används för att separera modellen och dess vy, vilket är nödvändigt för att ändra dem separat från varandra. Till exempel ställer utvecklaren in logiken för att arbeta med data, och designern arbetar med användargränssnittet.
Användning
Det är bekvämt att använda MVVM istället för klassisk MVC och liknande i de fall plattformen som utvecklingen utförs på har " databindning ". I MVC / MVP -designmönstren påverkar ändringar i användargränssnittet inte modellen direkt, utan går först igenom Controller eller Presenter . Teknologier som WPF och Silverlight har konceptet "databindning", vilket gör att du kan binda data till visuella element i båda riktningarna. Därför, när man använder denna teknik, blir användningen av MVC-modellen extremt obekväm på grund av det faktum att databindning till vyn inte direkt passar in i MVC/MVP-konceptet.
Beskrivning
MVVM-mönstret är uppdelat i tre delar:
- Model ( Eng. Model ) (precis som i klassisk MVC) är logiken i att arbeta med data och en beskrivning av de grundläggande data som krävs för att applikationen ska fungera.
- Representation ( English View ) - ett grafiskt gränssnitt (fönster, listor, knappar, etc.). Fungerar som en prenumerant i händelse av att värdena för egenskaper eller kommandon som tillhandahålls av ViewModel ändras. Om någon egenskap har ändrats i vymodellen, meddelar den alla prenumeranter om det, och vyn begär i sin tur det uppdaterade värdet på egenskapen från vymodellen. Om användaren interagerar med något element i gränssnittet anropar vyn det lämpliga kommandot som tillhandahålls av vymodellen.
- ViewModel är å ena sidan en abstraktion av vyn , och å andra sidan en datainpackning från modellen som ska bindas. Det vill säga, den innehåller modellen som konverterats till vyn, såväl som kommandon som vyn kan använda för att påverka modellen.
Implementeringar
.NET
Javascript
Swift
Se även
Länkar
- ↑ Introduktion till Model/View/ViewModel-mönster för att bygga WPF-appar . Hämtad 13 november 2010. Arkiverad från originalet 12 juni 2011. (obestämd)