Skill Profile

MVVM Pattern

MVVM: Model-View-ViewModel, data binding, commands, DI in desktop applications

Desktop Development Desktop Patterns

Roles

3

where this skill appears

Levels

5

structured growth path

Mandatory requirements

15

the other 0 optional

Domain

Desktop Development

Group

Desktop Patterns

Last updated

3/17/2026

How to Use

Choose your current level and compare expectations. The items below show what to cover to advance to the next level.

What is Expected at Each Level

The table shows how skill depth grows from Junior to Principal. Click a row to see details.

Role Required Description
Desktop Developer (.NET WPF/WinUI/MAUI) Required Understands MVVM in WPF/WinUI context. Uses CommunityToolkit.Mvvm with ObservableObject and RelayCommand. Implements DataBinding through {Binding} and {x:Bind}. Separates View and ViewModel.
Desktop Developer (Electron/Tauri) Required Understands MVVM/MVC in the context of Electron + React. Separates components into View and ViewModel (hooks/stores). Uses React Context for state management. Implements data binding through props and state.
Desktop Developer (Qt/C++) Required Understands the fundamentals of MVVM Pattern. Applies basic practices in daily work. Follows recommendations from the team and documentation.
Role Required Description
Desktop Developer (.NET WPF/WinUI/MAUI) Required Applies MVVM with ObservableValidator for validation. Uses IMessenger (WeakReferenceMessenger) for inter-ViewModel communication. Organizes navigation through INavigationService. Implements async commands.
Desktop Developer (Electron/Tauri) Required Applies state management as ViewModel layer. Organizes navigation through React Router. Implements separation of concerns: IPC layer, business logic, UI components. Tests ViewModel separately.
Desktop Developer (Qt/C++) Required Applies MVVM with Command pattern through Qt. Uses QAbstractListModel for ViewModel, implements filtering through QSortFilterProxyModel. Organizes navigation through StackView and Router.
Role Required Description
Desktop Developer (.NET WPF/WinUI/MAUI) Required Designs scalable MVVM architecture for enterprise WPF/WinUI. Uses Source Generators for boilerplate reduction. Implements DI through Microsoft.Extensions.DependencyInjection. Applies Mediator pattern.
Desktop Developer (Electron/Tauri) Required Designs scalable Electron architecture with Clean Architecture layers. Implements IPC abstraction layer. Applies dependency injection through TSyringe/InversifyJS. Uses mediator for inter-module communication.
Desktop Developer (Qt/C++) Required Designs scalable MVVM architecture for large Qt applications. Uses Qt Quick Compiler for optimization. Implements DI container for ViewModel, applies Event Bus for inter-component communication.
Role Required Description
Desktop Developer (.NET WPF/WinUI/MAUI) Required Defines MVVM standards for .NET desktop team. Establishes coding guidelines, conducts architecture review. Mentors on MVVM patterns in WPF/WinUI.
Desktop Developer (Electron/Tauri) Required Defines architectural patterns for the Electron team. Establishes coding guidelines for separation of concerns. Conducts architecture review.
Desktop Developer (Qt/C++) Required Defines MVVM standards for the Qt team. Establishes coding guidelines for View/ViewModel separation. Conducts architecture review, mentors on MVVM patterns in Qt.
Role Required Description
Desktop Developer (.NET WPF/WinUI/MAUI) Required Shapes UI architecture standards for .NET desktop organization. Evaluates MVVM vs MVU (Comet/Fabulous) for different projects. Defines enterprise UI patterns.
Desktop Developer (Electron/Tauri) Required Shapes architectural standards for the organization's Electron development. Evaluates architectural patterns for complex desktop. Defines enterprise architecture guidelines.
Desktop Developer (Qt/C++) Required Shapes architectural patterns for desktop UI at the organizational level. Evaluates MVVM vs MVC vs MVU for various Qt projects. Defines enterprise UI architecture standards.

Community

👁 Watch ✏️ Suggest Change Sign in to suggest changes
📋 Proposals
No proposals yet for MVVM Pattern
Loading comments...