Домен
Desktop Development
Профиль навыка
MVVM: Model-View-ViewModel, data binding, commands, DI в десктопных приложениях
Ролей
3
где встречается этот навык
Грейдов
5
сформированная дорожка роста
Обязательных требований
15
ещё 0 — необязательные
Desktop Development
Desktop-паттерны
17.03.2026
Выберите текущий грейд и сравните ожидания. Карточки ниже покажут, что нужно закрыть для следующего уровня.
Таблица показывает, как меняется глубина владения навыком от Junior до Principal.
| Роль | Обязательность | Описание |
|---|---|---|
| Desktop Developer (.NET WPF/WinUI/MAUI) | Обязателен | Понимает MVVM в контексте WPF/WinUI. Использует CommunityToolkit.Mvvm с ObservableObject и RelayCommand. Реализует DataBinding через {Binding} и {x:Bind}. Разделяет View и ViewModel. |
| Desktop Developer (Electron/Tauri) | Обязателен | Понимает MVVM/MVC в контексте Electron + React. Разделяет компоненты на View и ViewModel (hooks/stores). Использует React Context для state management. Реализует data binding через props и state. |
| Desktop Developer (Qt/C++) | Обязателен | Понимает основы MVVM в контексте Qt/QML. Разделяет View (QML) и ViewModel (C++ QObject с Q_PROPERTY). Реализует property binding между QML и C++ backend. |
| Роль | Обязательность | Описание |
|---|---|---|
| Desktop Developer (.NET WPF/WinUI/MAUI) | Обязателен | Применяет MVVM с ObservableValidator для validation. Использует IMessenger (WeakReferenceMessenger) для inter-ViewModel communication. Организует навигацию через INavigationService. Реализует async commands. |
| Desktop Developer (Electron/Tauri) | Обязателен | Применяет state management (state management) как ViewModel layer. Организует navigation через React Router. Реализует separation of concerns: IPC layer, business logic, UI components. Тестирует ViewModel отдельно. |
| Desktop Developer (Qt/C++) | Обязателен | Применяет MVVM с Command паттерном через Qt. Использует QAbstractListModel для ViewModel, реализует фильтрацию через QSortFilterProxyModel. Организует навигацию через StackView и Router. |
| Роль | Обязательность | Описание |
|---|---|---|
| Desktop Developer (.NET WPF/WinUI/MAUI) | Обязателен | Проектирует масштабируемую MVVM-архитектуру для enterprise WPF/WinUI. Использует Source Generators для boilerplate reduction. Реализует DI через Microsoft.Extensions.DependencyInjection. Применяет Mediator паттерн. |
| Desktop Developer (Electron/Tauri) | Обязателен | Проектирует масштабируемую архитектуру Electron с Clean Architecture layers. Реализует IPC abstraction layer. Применяет dependency injection через TSyringe/InversifyJS. Использует mediator для inter-module communication. |
| Desktop Developer (Qt/C++) | Обязателен | Проектирует масштабируемую MVVM-архитектуру для крупных Qt-приложений. Использует Qt Quick Compiler для оптимизации. Реализует DI-контейнер для ViewModel, применяет Event Bus для inter-component communication. |
| Роль | Обязательность | Описание |
|---|---|---|
| Desktop Developer (.NET WPF/WinUI/MAUI) | Обязателен | Определяет MVVM-стандарты для .NET desktop команды. Формирует coding guidelines, проводит architecture review. Менторит по MVVM-паттернам в WPF/WinUI. |
| Desktop Developer (Electron/Tauri) | Обязателен | Определяет архитектурные паттерны для Electron-команды. Формирует coding guidelines для separation of concerns. Проводит architecture review. |
| Desktop Developer (Qt/C++) | Обязателен | Определяет MVVM-стандарты для Qt-команды. Формирует coding guidelines для View/ViewModel разделения. Проводит architecture review, менторит по MVVM-паттернам в Qt. |
| Роль | Обязательность | Описание |
|---|---|---|
| Desktop Developer (.NET WPF/WinUI/MAUI) | Обязателен | Формирует UI-архитектурные стандарты для .NET desktop организации. Оценивает MVVM vs MVU (Comet/Fabulous) для различных проектов. Определяет enterprise UI patterns. |
| Desktop Developer (Electron/Tauri) | Обязателен | Формирует архитектурные стандарты для Electron-разработки организации. Оценивает architectural patterns для complex desktop. Определяет enterprise architecture guidelines. |
| Desktop Developer (Qt/C++) | Обязателен | Формирует архитектурные паттерны для desktop UI на уровне организации. Оценивает MVVM vs MVC vs MVU для различных Qt-проектов. Определяет enterprise-стандарты UI-архитектуры. |