Model-view-viewmodel: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: spazi attorno alle parentesi |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. |
||
(11 versioni intermedie di 8 utenti non mostrate) | |||
Riga 1:
[[File:MVVMPattern.png|thumb|
Il '''Model–view–viewmodel''' ('''MVVM''') è un [[Design pattern|pattern]] [[software]] architetturale o schema di [[progettazione]] software. È una variante del pattern "Presentation Model design" di [[Martin Fowler]]. Lo MVVM astrae lo stato di "view" (visualizzazione) e il comportamento. Mentre il modello di "presentazione" astrae una vista (crea un view model) in una maniera che non dipende da una specifica piattaforma [[interfaccia utente]].
Lo MVVM fu sviluppato da Ken Cooper e Ted Peters di [[Microsoft]] per semplificare la [[programmazione a eventi]] di interfacce utente sfruttando caratteristiche del [[Windows Presentation Foundation]] (WPF) (Sistema grafico di Microsoft [[.NET]]) e [[Silverlight]] (Applicazione internet derivata).
Il pattern architetturale fu annunciato per la prima volta nel [[blog]] di John Gossman nel [[2005]].
== Componenti del pattern ==
*
* ''View''
*
* ''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 ==
* {{cita web |url=https://code.msdn.microsoft.com/How-to-implement-MVVM-71a65441 |titolo=How to implement MVVM (Model-View-ViewModel) in TDD (test-driven development) |sito=[[Microsoft Developer Network]] |editore=Microsoft |lingua=en |accesso=4 gennaio 2016 |dataarchivio=15 aprile 2019 |urlarchivio=https://web.archive.org/web/20190415052927/https://code.msdn.microsoft.com/How-to-implement-MVVM-71a65441 |urlmorto=sì }}
* {{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
* {{cita web |url=http://addyosmani.com/blog/understanding-mvvm-a-guide-for-javascript-developers/ |titolo=Understanding MVVM: A Guide for JavaScript Developers |sito=AddysOnmani.com|lingua=en}}
{{Portale|informatica}}
[[Categoria:Architettura del software]]
[[Categoria:
|