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.