Il existe une tendance qui vise à regrouper votre Modèle et votre VueModèle dans un même objet.
Conseil n° 1 : Séparez impérativement le Modèle de la VueModèle.
Prenons le cas d’un écran qui modifie les informations d’une personne : ID, FirstName, LastName, EmailAddress. Si vous n’avez pas énormément de logique métier ou de logique de validation complexe, le fait d’avoir une classe PersonViewModel et une classe de modèle Person donnera une impression d’excès ou de duplication du code. Ces deux classes seront effectivement fortement similaires. L’un des aspects formidables de Silverlight/WPF et MVVM est la possibilité d’employer la liaison de données ou data binding. Il est inutile d’écrire des tonnes d’instructions d’affectation pour obtenir les données de votre VueModèle sur votre Vue, et le code-behind pour votre Vue reste extrêmement propre. Avec la liaison de données bidirectionnelle, votre VueModèle est rafraîchie à partir de votre Vue dès que l’utilisateur clique en dehors d’un champ.
Séparez impérativement le Modèle de la VueModèle
J’ai compris l’importance de la séparation stricte entre le Modèle et la VueModèle lorsqu’il m’a fallu implémenter un bouton Cancel. Supposons que vous modifiiez un enregistrement Person existant et que vous utilisiez la liaison de données bidirectionnelle. Vous modifiez le prénom, le nom, l’adresse électronique, puis vous réalisez que vous vous êtes complètement trompé et vous souhaitez annuler vos modifications. A ce stade, la VueModèle est déjà mise à jour du fait de la liaison de données bidirectionnelle et les mêmes valeurs sont affichées sur la Vue.
Si vous avez « joué la carte de l’économie » et combiné le Modèle et la VueModèle, vous ne pouvez rien annuler et il faut recharger l’enregistrement Person à partir de la base de données. En revanche, si vous avez un Modèle et une VueModèle séparés, il vous suffit de ne pas migrer les changements vers le Modèle. Au lieu de cela, vous rafraîchissez votre VueModèle à partir du Modèle et votre fonctionnalité d’annulation est complète.
Cela illustre un point clé de la loyauté des couches. Les Vues et VueModèles consistent à afficher les éléments à l’utilisateur dans une implémentation d’interface utilisateur spécifique. Le Modèle ne se préoccupe pas du mode d’affichage des données, mais plus des règles métier et de la logique de persistance.
Les Vues et VueModèles servent à afficher et collecter les données auprès de l’utilisateur, mais lorsque l’enregistrement effectif se produit, les données de la VueModèle sont copiées vers le Modèle et c’est ce dernier qui est enregistré.
Dans l’exemple tout simple d’un éditeur Person, il existe un mappage 1 à 1 entre la Vue, la VueModèle et le Modèle. Lorsque vos Vues deviennent plus complexes, ce mappage change. Il existe presque toujours un mappage 1 à 1 entre la Vue et la VueModèle, mais lorsque les Vues (et donc les VueModèles) deviennent complexes, la VueModèle devra peut-être dialoguer avec deux Modèles ou plus afin de remplir les données et de les enregistrer sur cette Vue. C’est le second cas où des « économies de bout de chandelle » concernant la séparation entre la Vue, la VueModèle et le Modèle peuvent vous attirer des ennuis.
Téléchargez cette ressource
Guide de Cyber-résilience pour Microsoft 365
La violation de votre tenant M365 va au-delà d’un simple incident de cybersécurité. Elle peut entraîner une interruption opérationnelle généralisée, des perturbations commerciales et une exposition de vos données sensibles. Découvrez les méthodes et technologies pour évaluer, comparer et renforcer votre posture de sécurité Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- IoT et cybersécurité : les bases que chaque décideur doit maîtriser
- AWS re:Invent 2025 : décryptage des grandes innovations qui vont transformer le cloud
- Gouvernance et optimisation des dépenses logicielles : Comment éviter les pièges de la consommation?
- Du cloud hybride aux LLM : les technologies qui rebattent les cartes en 2026
Articles les + lus
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
Top 5 TechnoVision 2026 des tendances technologiques à suivre de près !
À la une de la chaîne Tech
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
- Top 5 TechnoVision 2026 des tendances technologiques à suivre de près !
