Model-View-ViewModel
Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den
version , der blev gennemgået den 8. juni 2021; checks kræver
6 redigeringer .
Model-View-ViewModel (MVVM) er et applikationsarkitekturdesignmønster. Introduceret i 2005 af John Gossman som en modifikation af præsentationsmodellens skabelon. Fokuserer på moderne udviklingsplatforme såsom Windows Presentation Foundation , Silverlight fra Microsoft [1] , ZK framework .
Udnævnelse
Bruges til at adskille modellen og dens visning, hvilket er nødvendigt for at ændre dem adskilt fra hinanden. For eksempel sætter udvikleren logikken for at arbejde med data, og designeren arbejder med brugergrænsefladen.
Brug
Det er praktisk at bruge MVVM i stedet for klassisk MVC og lignende i tilfælde, hvor platformen, som udviklingen udføres på, har " databinding ". I MVC / MVP - designmønstrene påvirker ændringer i brugergrænsefladen ikke modellen direkte, men går først gennem Controlleren eller Præsentatoren . Teknologier som WPF og Silverlight har konceptet "databinding", som giver dig mulighed for at binde data til visuelle elementer i begge retninger. Når man bruger denne teknik, bliver brugen af MVC-modellen derfor ekstremt ubelejlig på grund af det faktum, at databinding til visningen ikke direkte passer ind i MVC/MVP-konceptet.
Beskrivelse
MVVM-mønsteret er opdelt i tre dele:
- Model ( Eng. Model ) (ligesom i klassisk MVC) er logikken i at arbejde med data og en beskrivelse af de grundlæggende data, der er nødvendige for, at applikationen kan fungere.
- Repræsentation ( engelsk visning ) - en grafisk grænseflade (vinduer, lister, knapper osv.). Fungerer som abonnent i tilfælde af ændring af værdierne af egenskaber eller kommandoer leveret af ViewModel. Hvis en ejendom er ændret i visningsmodellen, giver den alle abonnenter besked om det, og visningen anmoder til gengæld om den opdaterede værdi af ejendommen fra visningsmodellen. Hvis brugeren interagerer med et hvilket som helst element i grænsefladen, kalder visningen den passende kommando fra visningsmodellen.
- ViewModel er på den ene side en abstraktion af View, og på den anden side en dataindpakning fra modellen, der skal bindes. Det vil sige, at den indeholder modellen konverteret til visningen, samt kommandoer, som visningen kan bruge til at påvirke modellen.
Implementeringer
.NET
Javascript
Swift
Se også
Links
- ↑ Introduktion til Model/View/ViewModel-mønster til opbygning af WPF-apps . Hentet 13. november 2010. Arkiveret fra originalen 12. juni 2011. (ubestemt)