MVVM Architecture

2022-05-07

Model–view–viewmodel (MVVM) is a software architectural pattern that facilitates the separation of the development of the graphical user interface from the development of the business logic or back-end logic so that the view is not dependent on any specific model platform.

GUI- view

Business logic/back end - model

This pattern is used in WPF & Silverlight, it’s invented by Microsoft architects in 2005, the year WPF was announced.

MVVM was designed to remove virtually all GUI code ("code-behind") from the view layer, by using data binding functions in WPF (Windows Presentation Foundation) to better facilitate the separation of view layer development from the rest of the pattern. 

This gives advantage for UX(user experience) devs can work on UI aspect w/o touching GUI code and data binding of the View which is developed & maintained by application developers. This is how the separation of concerns b/w View and ViewModel & model gives direct benefit. 

Criticism of MVVM is that MVVM pattern and its application in specific uses, stating that MVVM can be "overkill" when creating simple user interfaces. For larger applications, he believes that generalizing the viewmodel upfront can be difficult, and that large-scale data binding can lead to lower performance.

0 comments: