Model-view-viewmodel: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
←Nuova pagina: thumb|right|Schema Il '''Model–view–viewmodel''' ('''MVVM''') è un pattern software architetturale. É una variante... |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. |
||
(21 versioni intermedie di 16 utenti non mostrate) | |||
Riga 1:
[[File:MVVMPattern.png|thumb|
Il '''Model–view–viewmodel''' ('''MVVM''') è un [[
Lo MVVM fu sviluppato da Ken Cooper e Ted Peters di [[Microsoft]] per semplificare la [[programmazione a eventi]] di interfacce utente sfruttando caratteristiche del
Il pattern architetturale fu annunciato per la prima volta nel [[blog]] di John Gossman nel [[2005]].
== Componenti del pattern ==
* ''Model'' (modello): Il modello in MVVM è una implementazione del modello di dominio (''___domain model'') della applicazione che include un modello di dati insieme con la [[logica di business]] e di validazione. Esempi di oggetti del modello comprendono repository, oggetti di business, oggetti di trasferimento dei dati (DTOs), Plain Old CLR Objects (pocos), e oggetti generati di entità e proxy.<ref name=":0">{{Cita web|url=https://msdn.microsoft.com/en-us/library/hh848246.aspx|titolo=The MVVM Pattern|sito=msdn.microsoft.com|accesso=2016-03-11}}</ref>
* ''View'' (vista): La vista è responsabile della definizione della struttura, il layout e l'aspetto di ciò che l'utente vede sullo schermo. Idealmente, la vista è definita esclusivamente con XAML, con un numero limitato di code-behind che non contiene la logica di business.<ref name=":0" />
* ''View Model'' (modello della vista): Il ''view model'' fa da intermediario tra la vista e il modello, ed è responsabile per la gestione della logica della vista. In genere, il ''view model'' interagisce con il modello invocando metodi nelle classi del modello. Il ''view model'' fornisce quindi i dati dal modello in una forma che la vista può usare facilmente.<ref name=":0" />
* ''Binder'' (legante): Il meccanismo fondamentale per questo pattern con il quale il ''view model'' e la ''view'' vengono costantemente mantenuti sincronizzati, tipicamente tramite una sintassi dichiarativa all'interno della ''view'' stessa. Questo implica che le modifiche ai dati apportate dall'utente attraverso la ''view'' verranno automaticamente riportate nel ''view model'', senza che questo onere spetti allo sviluppatore. Allo stesso modo, eventuali modifiche apportate ai dati contenuti nel ''view model'' verranno automaticamente rappresentate nella ''view''.
== Note ==
<references />
== Voci correlate ==
* [[Model-view-controller]]
== Collegamenti esterni ==
*
* {{en}} [https://github.com/simbo1905/ZkToDo2/blob/b97b353d399ad012577bef7f880f9e3167ed70a3/src/main/java/org/zkforge/zktodo2/ZkToDoViewModel.java MVVM validation logic], written in Java by Tim Clare
*
{{Portale|informatica}}
[[Categoria:Architettura del software]]
[[Categoria:
|