In this chapter, we will cover:
Model View ViewModel (MVVM) is a UI software design pattern similar to Model View Controller (MVC). MVVM allows separation of concerns and makes the application very flexible and easy to maintain. Designers can work independently with the user interface while developers work on the model and the back-end coding.
Applications built on the MVVM pattern should have the following three distinctive layers:
MVVM also will have notification mechanism to send a message to the client whenever the model data changes. This is illustrated in the following diagram:
Multiple ideas of Views can be tested without changing the code that connects to the data. Furthermore, unit testing can be performed on the ViewModel side without any interfaces. This chapter looks into different aspects of the MVVM pattern using simple recipes to complex ones. For more information on this pattern check this article: