Introduction
In the previous chapters, you learned how to start developing applications that could be run on various devices, including smartphones and desktops. Then you learned how to design a user interface using a set of predefined and user-defined controls. You also learned how to adjust the design to accommodate various device families.
However, in the case of more complex applications, it is crucial that you organize the project in a suitable way in order to simplify development and introducing further modifications. One of the convenient approaches is the application of the Model-View-ViewModel (MVVM) design pattern.
This pattern divides the project into three parts, namely model, view, and view model. Each of them performs a specific role and allows you to separate various parts of the project, as shown in the following image:
The first part, namely model, is related to the business logic of the application. Here you should place, for instance, classes representing entities in the...