Model-View-ViewModel (MVVM)

Model-View-ViewModel (MVVM) è un modello di progettazione software strutturato per separare la logica del programma ei controlli dell'interfaccia utente. MVVM è anche noto come model-view-binder ed è stato creato dagli architetti Microsoft Ken Cooper e John Gossman.

Come molti altri modelli di progettazione, MVVM aiuta a organizzare il codice e suddividere i programmi in moduli per rendere lo sviluppo, l'aggiornamento e il riutilizzo del codice più semplice e veloce. Il motivo viene spesso utilizzato in Windows e nel software di presentazione di grafica Web.

Il pattern MVVM viene utilizzato in Windows Presentation Foundation (WPF), che viene eseguito su .NET di Microsoft. Silverlight, un plug-in multimediale equivalente a Internet di Microsoft WPF, utilizza anche MVVM.

La separazione del codice in MVVM è suddivisa in View, ViewModel e Model:

  • La vista è la raccolta di elementi visibili, che riceve anche l'input dell'utente. Ciò include interfacce utente (UI), animazioni e testo. Non si interagisce direttamente con il contenuto di View per modificare ciò che viene presentato.
  • ViewModel si trova tra i livelli View e Model. Qui è dove sono alloggiati i controlli per interagire con View, mentre l'associazione viene usata per connettere gli elementi dell'interfaccia utente in View ai controlli in ViewModel.
  • Model ospita la logica per il programma, che viene recuperata dal ViewModel al momento della ricezione di input dall'utente tramite View.

MVVM