http://nico-pyright.developpez.com/t...t-silverlight/Cet article constitue une introduction au développement d'applications Silverlight en utilisant le design pattern M-V-VM grâce au MVVM Light Toolkit de Laurent Bugnion.
http://nico-pyright.developpez.com/t...t-silverlight/Cet article constitue une introduction au développement d'applications Silverlight en utilisant le design pattern M-V-VM grâce au MVVM Light Toolkit de Laurent Bugnion.
Franchement, c'est très bien. Mangez en.
Très bon article![]()
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
C'est pas cool ce genre d'article bien fait je me sens obliger de m'y mettre![]()
C'est un bon article, mais comme on ne va pas jouer à l'école des fans, je vais aussi faire quelques remarques, les petits "moins" de l'article :
- Les liens PDF et versions hors ligne (en haut comme en bas) ne marchent pas (c'est pas très grave mais faut réparer).
- Avoir traité un sujet aussi délicat que MVVM est une super idée, le faire avec MVVM Light c'est encore mieux. Mais alors pourquoi diable vouloir tout compliquer en utilisant le mediator au lieu d'exposer comment le faire avec MVVM Light ? Si le mediator est bien, il faut en faire un article séparé je trouve que là ça confuse le discours (moi je connais MVVM et la lib MVVM light, j'imagine qqun qui justement veut lire sans savoir avant).
- Utiliser comme idée de départ une appli avec navigation Silverlight est un peu dans le même goût : c'est super comme idée de voir comment "Mvvm-iser" ce modèle. Vraiment je trouve ça un très bon thème pour un article.. à part ! Mais faudrait choisir : on présente MVVM light ou bien une rubrique trucs et astuces pour rendre le modèle de navigation compatible avec MVVM Light. Pour moi cela mérite aussi d'être séparé en deux articles: j'explique MVVM light avec une appli ultra basique, et d'autre part j'explique à ceux qui savent déjà de quoi on parle comment Mvvm-iser la navigation SL. Faire les deux à la fois, une fois encore, j'imagine que pour qqun qui ne connaît pas MVVM, ni MVVM light et peut-être pas au top sur la navigation SL, ça va faire dur à piger tout ça mélangé.
Bref : techniquement rien à dire, c'est un bon article avec de bonnes idées, mais en réalité il serait carrément super s'il était coupé en 3 : 1) Mvvm et Mvvm-light; 2) rendre la navigation Mvvm compatible; 3) améliorer Mvvm light (le mediator par ex).
Voilà ! Le tout en rendant hommage une fois encore aux bonnes idées développées. Justement c'est frustrant qu'elles soient si mélangées, surtout pour des débutants qui liront l'article.
Pour une prochaine adaptation de l'article ? :-)
Bonjour Olivier,
et merci pour ta remarque constructive.
Tu as raison sur la facon d'architecturer l'article. Pour être totalement complet, il aurait été judicieux de faire plusieurs articles.
Je ne voulais cependant pas faire un cours sur MVVM, il en existe de très bon, dont le tien. Mais parler de mvvm-light sans parler de mvvm avait peu de sens, j'ai donc essayé de faire un rapide apercu pour qui n'en aurait jamais entendu parler.
Je ne voulais pas ensuite faire un tutoriel que sur mvvm-light, je trouve toujours dommage de lire un article qui répète ce qu'on peut trouver ailleurs, notamment sur le site de Laurent. J'ai donc essayé d'en parler d'une autre facon, en suivant le fil rouge de la transformation de l'appli navigation SL de base.
Ce qui m'a amené à sortir un peu du cadre du mvvm-light toolkit qui propose une solution de communication en parlant du mediator et d'autres aspects techniques.
Voilà pour la facon dont je voyais l'article, essayer de ne pas trop répeter ce qui a déjà été dit ailleurs (même si fatalement, on n'invente jamais rien !) et essayer de donner gout à MVVM au travers du framework de Laurent, sans pour autant s'y limiter.
Finalement, peut-etre que le titre était mal choisi et reflete mal l'article que je voulais faire.
En ce qui concerne les liens, je vais m'en occuper rapidement![]()
Les règles du forum
Le trio magique : FAQ + Cours + fonction rechercher
Mes articles
Pas de questions par messages privés svp
Software is never finished, only abandoned.
Salut Nico,
Je pense, mais en fait c'est maintenant plus un problème de titre plus que de contenu, disons que ce n'est pas un article MVVM pour débutant, ni un article MVVM Light pour débutant. Et vu comment tu as abordé le sujet c'est pas facile de trouver un titre qui correspond vraiment au contenu
Sinon je repensais à ta partie sur les animations, où tu poses la question de savoir comment agir sur le VisualStateManager depuis le ViewModel (pour changer les anims des links).
Ta solution est originale mais je me demande (ou alors j'ai loupé un truc) si tu ne t'es pas trop compliqué la tâche ici. En effet, lors d'un changement de page, l'initiateur de ce changement peut fort bien envoyer un message particulier (en utilisant les messages de MVVM Light ou de Mediator), et la Vue a parfaitement le droit dans le paradigme MVVM de gérer ce message et de modifier son propre visuel (en jouant avec le state manager ou autre).
Du coup, l'idée la plus simple, il me semble, serait juste de créer un message de changement de page et de s'y abonner dans la Vue qui affiche le menu. Elle n'a plus, à réception du dit message, qu'à changer l'état des links et l'affaire est jouée..
Qu'en penses tu ?
Cordialement,
bonjour,
j'ai fait une "silverlight application" j'ai tenter d'architecturer en couche en suivant les models présenté dans Application Architecture Guide de microsoft.
je me renseigne maintenant sur l'utilisation de mvvm (oui certain diront que je fait les étapes à l'envers mais en réalité ne connaissant pa silverlight à l'époque j'ai éviter de tout mélangé en meme temps.
d'après vos remarque ce tutoriel est déjà pour les + confirmé. auriez vous des liens, tutoriels qui me permettrait de comprendre plus facilement comment aborder le mvvm facilement ?
je vous remercie!!
Charité bien ordonnée... alors un peu de pub pour l'un de mes articles traitant de la question, un PDF de 70 pages "M-V-VM avec Silverlight, de la théorie à la pratique.", adresse de téléchargement dans le billet (suivre le lien).
Le but de l'article est d'expliquer MVVM sans utiliser aucune librairie externe justement, juste avec ce qu'il y a dans la boite. Ce n'est pas fait pour de la production, mais pour comprendre MVVM.
Article génial et bien résumé
J'attends avec impatience la même chose sur Prism ! (et en Fr bien sûr je comprend plus vite)
Merci pour ce tutoriel très bien fait. L'idée de reprendre la template de navigation et d'y appliquer mvvm était exactement ce que je cherchais.
Je rejoins une remarque précédente, j'aurais aimé comprendre le pourquoi c'est mieux d'utiliser le mediator pour la fenêtre d'erreurs à la place de la messagerie de mvvm light.
Bravo.
c'est pas spécialement mieux, mais je préfère la façon d'utiliser le médiator. Question de gout![]()
Les goûts ne se discutent pas. LOL Mais en informatique on peut se le permettre quand même.
Moi je privilégie le toolkit MVVM qui me permet de faire le plus de chose possible sans faire appel à d'autres bouts de code faits par d'autres développeurs même si ceux là sont plus simples à utiliser. Cette règle je l'applique même si je suis seul dans un projet. Pour l'instant MVVM Light Toolkit me convient et répond à mes besoins. Sinon je teste Jounce pour voir ce qu'il a dans le ventre.![]()
tu as raison, ca se discute, j'étais un peu pressé quand j'ai répondu.
Donc, je préfère la déclaration par attribut du mediator que je trouve plus propre et plus claire que le messenger de mvvm-light.
Après, ca fait la même chose, donc si l'on souhaite utiliser le messenger de mvvm-light, il n'y a pas de soucis![]()
Partager