Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette série de tutoriels montre comment implémenter la liaison de données, l’injection de dépendances et les tests unitaires avec le modèle de conception model-View-ViewModel (MVVM) et le kit de ressources MVVM dans une application WinUI 3. Il s’appuie sur le didacticiel Créer une application WinUI et vous montre comment mettre à jour vos modèles d’affichage pour tirer parti du kit de ressources MVVM et les différences entre le kit de ressources MVVM et les approches MVVM traditionnelles.
Vous pouvez télécharger ou afficher le code de ce didacticiel à partir du dépôt GitHub.
Dans ce tutoriel, vous allez apprendre à :
- Comprendre les différences entre le kit de ressources MVVM et les approches MVVM traditionnelles.
- Créez un projet de bibliothèque de classes distinct pour contenir ViewModels et les services pour améliorer la testabilité.
- Implémentez la liaison de données dans votre application WinUI à l’aide du kit de ressources MVVM.
- Ajoutez les modèles de vue
AllNotesViewModeletNoteViewModelpour tirer parti du Toolkit MVVM. - Intégrez l’injection de dépendances pour gérer les viewModels et les services.
- Créez un projet de test unitaire pour tester vos viewModels et services.
Prerequisites
Pour effectuer ce didacticiel, vous avez besoin de ce qui suit :
- Visual Studio 2022 (version 17.14 ou ultérieure) ou Visual Studio 2026 avec la charge de travail de développement d’applications WinUI installée.
- Un projet de démarrage créé en suivant les étapes décrites dans le didacticiel Créer une application WinUI . Si vous connaissez déjà le didacticiel, vous pouvez télécharger le code pour commencer à partir du dépôt GitHub.
Qu’est-ce que le kit de ressources MVVM ?
Le kit de ressources MVVM est une bibliothèque moderne, légère et rapide qui vous aide à implémenter le modèle de conception MVVM dans vos applications .NET. Il fait partie du .NET Community Toolkit et fournit un ensemble d’outils et d’utilitaires pour simplifier le développement d’applications basées sur MVVM. Le kit de ressources MVVM inclut des fonctionnalités telles que :
-
ObservableObject : classe de base qui implémente l’interface
INotifyPropertyChanged. Vous pouvez donc créer des modèles d’affichage qui notifient la vue des modifications de propriété. - RelayCommand : implémentation de commande qui vous permet de lier des actions d’interface utilisateur à des méthodes dans votre modèle d’affichage.
- Messenger : système de messagerie qui permet la communication entre différentes parties de votre application sans couplage serré.
- Attributs : ensemble d’attributs que vous pouvez utiliser pour générer du code réutilisable, tel que des notifications de modification de propriété et des implémentations de commandes.
- Générateurs de code source : génération de code à la compilation qui réduit le code répétitif et améliore les performances.
- Prise en charge de l’injection de dépendances : prise en charge intégrée de l’injection de dépendances pour gérer le cycle de vie des services et modèles d'affichage.
Le kit de ressources MVVM est conçu pour être facile à utiliser et à intégrer dans vos projets existants. Il est compatible avec différentes plateformes .NET, notamment WinUI, WPF et .NET MAUI. Vous pouvez consulter certains exemples d’applications sur le dépôt GitHub ou l’exemple d’application sur le Microsoft Store pour voir comment le kit de ressources MVVM peut être utilisé dans différents scénarios.
Comment le kit de ressources MVVM est-il comparé aux approches MVVM traditionnelles ?
Le kit de ressources MVVM réduit la quantité de code ViewModel réutilisable et simplifie de nombreux aspects de l’implémentation du modèle de conception MVVM par rapport aux approches traditionnelles. Voici quelques différences clés :
| Caractéristique | Approche MVVM traditionnelle | Approche du kit de ressources MVVM |
|---|---|---|
| Notification de modification de propriété | Implémentez INotifyPropertyChanged manuellement dans une classe de base et déclenchez PropertyChanged des événements pour chaque propriété. |
Héritez de ObservableObject et utilisez la méthode SetProperty pour déclencher automatiquement des événements PropertyChanged. |
| Implémentation de commande | Implémentez manuellement ICommand pour chaque commande. |
Utilisez RelayCommand pour créer facilement des commandes avec un code passe-partout minimal. |
| Messagerie | Implémentez des systèmes de messagerie personnalisés ou utilisez des bibliothèques tierces. | Utilisez la classe intégrée Messenger pour la communication découplée entre les composants. |
| Code générique | Écrivez du code répétitif pour les notifications de modification de propriété et les implémentations de commandes. | Utilisez des attributs et des générateurs de code source pour réduire le code passe-partout. |
| Performance | Peut entraîner une surcharge de performance en raison de la réflection et de la génération de code à l'exécution. | Les générateurs sources fournissent une génération de code au moment de la compilation, ce qui améliore les performances. |
| Prise en charge des injections de dépendances | Nécessite une configuration et une gestion manuelles des cycles de vie des modèles d’affichage. | Prise en charge intégrée de l’injection de dépendances pour gérer les cycles de vie des modèles d’affichage. |
| Courbe d’apprentissage | Peut nécessiter une compréhension plus approfondie des concepts et des modèles MVVM. | Plus facile à apprendre et à utiliser avec un focus sur la simplicité et la productivité. |
Pour plus d’informations sur le modèle de conception MVVM, consultez la liaison de données Windows et MVVM, Model-View-ViewModel (MVVM) et la documentation de référence de l’interface INotifyPropertyChanged.
Application Notes WinUI
L’application finale que vous générez dans ce didacticiel est une version refactorisée de l’application Notes WinUI à partir du didacticiel Créer une application WinUI . L’application permet aux utilisateurs de créer, d’enregistrer et de charger plusieurs notes. L’interface utilisateur de l’application d’origine reste la même, mais l’architecture mise à jour utilise le kit de ressources MVVM pour la liaison de données et la gestion des modèles d’affichage.
AllNotesPage
RemarquePage
Conseil / Astuce
Lorsque vous créez des applications Windows, vous faites souvent référence à des documents de référence d’API et à des documents conceptuels. Dans ce tutoriel, vous voyez des liens inline dans le texte et dans des groupes étiquetés « En savoir plus dans la documentation : ». Ces liens sont facultatifs ; vous n’avez pas besoin de les suivre pour suivre le didacticiel. Elles sont fournies au cas où vous souhaitez noter où trouver les informations dont vous aurez besoin lorsque vous commencez à créer vos propres applications.
Windows developer