MVVM, singkatan dari Model-View-ViewModel, adalah pola arsitektur yang memisahkan tampilan dari logika dengan lapisan perantara bernama ViewModel. ViewModel menyiapkan dan mengelola data agar siap ditampilkan. Pola ini banyak dipakai pada aplikasi dengan antarmuka yang kaya, terutama saat data dan tampilan perlu tersinkronisasi otomatis. ViewModel tidak tahu detail tampilan, sehingga logika lebih mudah diuji. MVVM sering dipadukan dengan mekanisme pengikatan data.
MVVM memisahkan logika dari tampilan sehingga kode lebih mudah diuji dan dirawat, khususnya pada aplikasi dengan antarmuka yang kompleks.
Saat data di ViewModel berubah, tampilan yang terikat padanya otomatis diperbarui tanpa kode tambahan untuk menyegarkan layar.