Bonjour,
Je désire apprendre MVVM et pour cela je souhaite reprendre une application que j'avais commencé (mais pas finis, ce sera l'occasion j'éspère...) afin de la refondre en suivant cette architecture. J'ai donc lu pas mal de tuto, article de blog de différent développeurs et parfois des articles sur des techniques plus ou moins avancés qui ne me seront pas utiles pour le moment je pense, mais toujours bon à mettre de côté quand le moment viendra. J'ai donc de mon application repris toutes les classes que j'avais faite, le coeur même. Ces classes vont constituer mes models.
Cependant là ou je bloque le plus c'est sur les view et view-models.
Par exemple je n'arrive pas à voir comment faire la chose, j'ai compris le principe mais j'arrive pas à voir comment faire pour savoir qu'elle view-model créer. Si j'ai bien compris il me suffirait par exemple de découper mon application en différent petit UserControl qui chacun aurait son propre view-model?
Ensuite aussi en regardant ces deux articles:
http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
http://www.codeproject.com/KB/WPF/MVVMForDummies.aspx
Qui comporte un exemple de models assez similaire, une classe Person avec des attributs et méthodes classique à une classe Person. Je constate que leur utilisation dans les view-models est un peu différente.
Par exemple dans l'article de Josh Smith, il a une view-model pour une personne en particulier et dans cette view-model il reprend chaque attribut de la classe Person pour les exposer à la vue. Tandis que dans l'autre article, l'auteur n'a qu'un attribut de type Person dans son view-model et l'expose directement à la vue. A un moment, je crois que c'est dans ce même article de Josh Smith où il dit que l'architecture MVVM n'est pas un ensemble de règles bien précises mais plus une façon de faire, donc son implémentation peut diverger tant que le paradigme est respecté. Je pose tout de même ma question, des deux façon de faire précédentes laquelle est à préférer?
Un autre point sur lequel je bloque c'est le DataContext, j'ai regardé un peu les différents code source donné sur le web des applications MVVM, et parfois la façon de faire diverge aussi. Ce que je voudrais savoir c'est comment il faudrait résonner pour savoir comment mettre le view-model dans le DataContext de la view? Ma question est pas claire, moi même en la lisant je le trouve. Mais je bloque sur le DataContext et comment mettre la view-model dedans, mais j'arrive pas à exprimer exactement où je bloque et pourquoi. A force de réfléchir ça va surement se préciser.
Il y a d'autre point sur lequel je bloque un peu aussi, mais je les ai pas en tête sur le coup et si j'avais déjà à résoudre les précédents ça me ferait beaucoup avancer. Je suis désolé si je pose des questions de débutants, je débute avec cette architecture, j'ai l'impression de me retrouver quand je voulais apprendre MVC, que je ne comprenais rien à rien et que c'est au bout de 3 mois que je comprends.....
Je vous remercie d'avance pour votre aide
Partager