The MVVM pattern helps cleanly separate an application’s business and presentation logic from its user interface (UI). Maintaining a clean separation between application logic and the UI helps address numerous development issues and makes an application easier to test, maintain, and evolve. It can also significantly improve code re-use opportunities and allows developers and UI designers to collaborate more easily when developing their respective parts of an app.https://learn.microsoft.com/en-us/dotnet/architecture/maui/mvvm
CommunityToolkit.Mvvm package (aka MVVM Toolkit, formerly named
Microsoft.Toolkit.Mvvm) is a modern, fast, and modular MVVM library. It is part of the .NET Community Toolkit and is built around the following principles:
- Platform and Runtime Independent – .NET Standard 2.0, .NET Standard 2.1 and .NET 6 🚀 (UI Framework Agnostic)
- Simple to pick-up and use – No strict requirements on Application structure or coding-paradigms (outside of ‘MVVM’ness), i.e., flexible usage.
- À la carte – Freedom to choose which components to use.
- Reference Implementation – Lean and performant, providing implementations for interfaces that are included in the Base Class Library, but lack concrete types to use them directly.
The MVVM Toolkit is maintained and published by Microsoft, and part of the .NET Foundation. It is also used by several first party applications that are built into Windows, such as the Microsoft Store.