Question

J'ai lu plusieurs bons articles sur le modèle Model-View-ViewModel et mon équipe a l'intention d'implémenter ce modèle dans la dernière version de notre application. Je ne comprends toujours pas TOUT les éléments qui vont ensemble pour que cela fonctionne. J'aimerais trouver un bon exemple de ce modèle sur lequel je peux travailler. Quelque chose à petite échelle, un peu comme le fait Jason Dolinger dans sa vidéo ici , mais j'aimerais que quelque chose que je peux travailler seul à un rythme plus lent.

Merci d'avance pour votre aide.

Était-ce utile?

La solution

Fondamentalement, un ViewModel est une enveloppe autour d’un modèle. Cela peut ne pas être très utile pour le moment :-) Imaginez le modèle comme les données avec lesquelles votre application fonctionne, par exemple une personne. Maintenant, une personne a son anniversaire et vous voudrez peut-être avoir un formulaire pour entrer l'anniversaire de cette personne. Supposons que nous utilisions simplement une simple zone de texte, la date affichée était telle que 01-02-2009 12:00:00 AM. Pour commencer, nous ne voulons pas de la partie temps et nous pourrions également ne pas être contents de la partie 01-02-2009 car cela dépend de vos paramètres régionaux.

Alors, voici le ViewModel vient im. Il encapsule la classe Person et expose la date sous forme de trois valeurs entières, année, mois et jour. Dans le jeu de propriétés, il tente de construire une date à partir de valeurs différentes et affiche les erreurs éventuelles.

Donc, simplement, un ViewModel est un wrapper de modèle spécialement conçu pour une vue (affichage) particulière. Il élimine la plupart des convertisseurs IValue en même temps.

Josh Smith a une bonne explication ici: http://joshsmithonwpf.wordpress.com/2008/11/14/using-a-viewmodel-to-provide-meaningful-validation-error-messages et une grande discussion ici: < a href = "http://groups.google.com/group/wpf-disciples/browse_thread/thread/3fe270cd107f184f?pli=1" rel = "noreferrer"> http://groups.google.com/group/wpf- disciples / browse_thread / thread / 3fe270cd107f184f? pli = 1

Autres conseils

Prism 4.0 inclut désormais la documentation permettant de créer des applications MVVM. Ceci est ciblé pour l'utilisation des bibliothèques Prism mais les concepts fonctionnent pour le modèle MVVM en général.

http://compositewpf.codeplex.com/releases

Voici un dernier élément à ajouter à la liste: Simple MVVM Toolkit de Tony Sneed (le vôtre): http: // simplemvvmmtoolkit. codeplex.com .

Le kit d'outils comprend des classes auxiliaires, des modèles d'élément Visual Studio et des extraits de code. Outre la boîte à outils actuelle, vous trouverez un exemple d'application avec des instructions pas à pas sur la création d'une application Silverlight de base à l'aide du modèle MVVM.

Nikhil Kothari a publié un article sur l’utilisation de ce modèle avec sa bibliothèque Silverlight.FX. Découvrez-le ici: http://www.nikhilk.net/ViewModel-Pattern-DLR .aspx

J'ai traversé beaucoup de sujets récemment, les deux qui se démarquent sont:

Dan Wahlin's (LIDNUG):

http://www.lidnug.org/Archives.aspx

John Papa's (PDC 2010):

http://player.microsoftpdc.com/Session/76868dd75 -b4da-4858-aac7-786c5f28e344

La meilleure explication d’un ViewModel a été donnée par Scott Hanselman lors de son exposé sur le MVC en Europe.

Une réponse unilatérale est - Il s’agit d’un modèle (classe) créé dans le seul but d’envoyer toutes les données nécessaires à une vue particulière et de recevoir des données modifiées de la vue en cas de liaisons de manière.

Consultez mon article sur le MVVM réel dans Silverlight. Bien que ce ne soit pas pour les nouveaux venus, et cibler principalement des développeurs experts travaillant sur des projets réels.

http: //alexburtsev.wordpress .com / 2011/03/05 / mvvm-pattern-in-silverlight-and-wpf /

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top