Catalog of MVVM guidelines Click on one of these boxes to view the complete guideline MVVM-1 Models, Views, and ViewModels should exclusively expose their state MVVM-2 The app should possess a single source of truth of data. MVVM-3 Models should be evolvable/testable MVVM-4 ViewModels should not refer to View-specific components. MVVM-5 Views should always know about changes after ViewModels MVVM-6 Adopt one Model for each feature of the app. MVVM-7 Keep ViewModels as simple as possible. MVVM-8 The state of the app should be defined in the Models only. MVVM-9 The data produced by the Models should be reliable and of high quality. MVVM-10 Networking or data access functionalities should be performed by Models.