IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

Tutoriel : Introduction à M-V-VM avec Silverlight en utilisant MVVM Light Toolkit


Sujet :

Silverlight

  1. #1
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut Tutoriel : Introduction à M-V-VM avec Silverlight en utilisant MVVM Light Toolkit
    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/

  2. #2
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Franchement, c'est très bien. Mangez en.
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Très bon article

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 121
    Points : 135
    Points
    135
    Par défaut
    C'est pas cool ce genre d'article bien fait je me sens obliger de m'y mettre
    object reference not set to an instance of an object

  5. #5
    Membre émérite
    Avatar de Merlin
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2002
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 524
    Points : 2 883
    Points
    2 883
    Par défaut
    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 ? :-)

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    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

  7. #7
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Citation Envoyé par nico-pyright(c) Voir le message
    Finalement, peut-etre que le titre était mal choisi et reflete mal l'article que je voulais faire.
    ça c'est la faute de Jérôme
    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.

  8. #8
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    Citation Envoyé par nico-pyright(c) Voir le message
    En ce qui concerne les liens, je vais m'en occuper rapidement
    C'est fait

    Citation Envoyé par The_badger_man Voir le message
    ça c'est la faute de Jérôme
    je n'osais le dire

  9. #9
    Membre émérite
    Avatar de Merlin
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2002
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 524
    Points : 2 883
    Points
    2 883
    Par défaut
    Salut Nico,

    Citation Envoyé par nico-pyright(c) Voir le message
    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 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,

  10. #10
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    Points : 52
    Points
    52
    Par défaut
    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!!

  11. #11
    Membre émérite
    Avatar de Merlin
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2002
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 524
    Points : 2 883
    Points
    2 883
    Par défaut
    Citation Envoyé par livinho38 Voir le message
    bonjour,
    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.

  12. #12
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 250
    Points : 420
    Points
    420
    Par défaut
    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 )

  13. #13
    Candidat au Club
    Profil pro
    Dev
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    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.

  14. #14
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    c'est pas spécialement mieux, mais je préfère la façon d'utiliser le médiator. Question de gout

  15. #15
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par nico-pyright(c) Voir le message
    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.

  16. #16
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    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

Discussions similaires

  1. [MVVM] Utilisation de Mvvm Light ToolKit avec différents csprojs
    Par NioxyBrown dans le forum WinRT
    Réponses: 9
    Dernier message: 30/08/2012, 13h15
  2. Réponses: 3
    Dernier message: 02/12/2010, 10h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo