Model–view–viewmodel

Da Wikipedia, l'enciclopedia libera.
Schema

Il Model–view–viewmodel (MVVM) è un 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[modifica | modifica wikitesto]

  • 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 repositori, oggetti di business, oggetti di trasferimento dei dati (DTOs), Plain Old CLR Objects (pocos), e oggetti generati di entità e proxy.[1]
  • 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.[1]
  • 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.[1]
  • Binder (legante):

Note[modifica | modifica wikitesto]

  1. ^ a b c The MVVM Pattern, su msdn.microsoft.com. URL consultato l'11 marzo 2016.

Collegamenti esterni[modifica | modifica wikitesto]