|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éprouvé
![]() |
Bonjour.
Je suis à la recherche d'une solution simple et productive pour définir une Machine à etat qui pilote le comportement d'une fenetre. J'ai fais une tentative avec WF, et je dois dire que j'ai été plutot décu. Sans doute je m'y prend mal, mais j'ai trouvé que tres vite, ce qui etait cencé rendre mon code simple et lisible, s'est transformé en véritable usine à gaz. Par exemple, si je veux ajouter un couple evenement/action à un etat, qui active simplement un bouton, je suis obligé de créer un déléguer et une callback dans ma form, juste pour faire un MyButton.Enable = true Ceci parceque ma form, et mon workflow sont dans des threads séparés. Je pourrai configurer ma form pour tolérer les actions inter-thread, mais je trouve ca dangereux. Du coup, je me suis fais ma propre machine à etat, simple et efficace, mais sans designer. Je me dis que j'ai du mal m'y prendre, auriez vous des articles en tete qui démontrent que piloter une winform depuis un workflow, c'est simple et efficace? En vous remerciant d'avance pour votre contribution. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Louis-Guillaume MORANDConsultant Inscription : mars 2003 Messages : 10 791 ![]() |
je suis pas sûr que ca soit fait pour cela.
Imagine que le workflow c'est comme un tapis roulant d'usine (comme la soupe aux choux). tu lui donnes un objet, et il ressort au bout du tunnel transformé. Cet objet, t'es pas censé y toucher directement. si tu veux changer la couleur, alors t'appuies sur un bouton qui va dire au workflow de lui changer sa couleur. toi tu essaie de faire un workflow qui va changer quelque chose d'extérieur à celui-ci, or c'est pas son but. D'autant plus que, comme tu le dis, à cause des threads séparés, tu ne peux pas modifier le comportement des contrôles directement. workflow foundation c'est pour simuler des processus métiers, toi tu t'en sers pour diriger une interface, c'est pas du tout pareil. WF c'est très bien et très puissant mais on peut pas s'en servir pour tout et n'importe quoi de la même façon, c'est comme si tu utilisais WF pour contrôler des pages Web, c'est une aberration :/ |
|
10
|
|
|
#3 |
|
Membre éprouvé
![]() |
je crois comprendre ce que tu dis.
Mais que suis je cencé faire alors? J'aimerai shematiser le comportement de ma Winform, faciliter sa maintenance et évolution. un diagramme d'etat me parai(ssai)t etre une bonne solution. j'avoue etre un peu perdu là... Concretement, je vais justement devoir faire un wizard: un UI avec à chaque fois une ou plusieurs question, et un bouton Next, selon la réponse j'affiche tel ou tel page par la suite. Et Demain, j'aurai peut etre à rajouter des questions sur certaines pages, inserer d'autres page (la maintenance quoi); j'aimerai éviter l'usine à gaz |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Louis-Guillaume MORANDConsultant Inscription : mars 2003 Messages : 10 791 ![]() |
et un tabcontrol sans tabs ne suffirait-il pas?
le composant wizard utilise quasiment ce principe. tes tabs, tu les créés soit en statique, soit à la volée mais c'est l'étape stocké en base qui décide de l'onglet sur lequel tu te trouves. pas la peine d'avoir un vrai workflow surtout si tu ne stockes que "l'étape" où il en est
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom |
|
00
|
|
|
#5 |
|
Membre éprouvé
![]() |
Merci pour ta promptitude Louis-Guillaume.
Je ne suis cependant (surement à tord) pas convaincu, que la solution proposée suffise. Comment dire... Je pense que quand j'aurai 50 pages avec 10 possibilités de redirection par page; une photographie de la logique me sera alors indispensable. Que cette photographie soit toujours à jours qu'on puisse zoomer dézoomer dedans pour passer d'une vue globale à un focus précis. D'ou l'idee d'un designer graphique de machine d'etat... Tout article sur ce sujet (architecture) est le bienvenue; j'ai sans doute besoin que l'on m'ouvre les yeux. EDIT : voila une image qui est représentative : cette vision est celle que j'attend, en un clin d'oeuil, je vois tout de suite quel est le comportement de mon UI; c'est pour moi, bien plus lisible que du code à parcourir...
|
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Louis-Guillaume MORANDConsultant Inscription : mars 2003 Messages : 10 791 ![]() |
un workflow d'interactions de boutons ne m'est jamais venu à l'idée d'être représenté mais je peux comprendre dans un cas complexe. Mais bon, je je ne ferais pas autrement que par un diagramme de séquence voire de cause-à-effet si je devais le faire.
en tout cas, je te confirme, je ne pense pas que workflow foundation soit adapté à ton besoin dans le cas présent ca t'apporterait rien et si tu penses que ca representerait graphiquement chaque event, tu te méprends si ton projet se complexifie, tu fais plusieurs forms ou plusieurs usercontroles.
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom |
|
00
|
|
|
#7 | |
![]() ![]() ![]() Samuel BlanchardExpert .NET Inscription : février 2010 Messages : 1 498 ![]() |
Citation:
|
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Louis-Guillaume MORANDConsultant Inscription : mars 2003 Messages : 10 791 ![]() |
tutafay! avec les salades. ma mémoire de vieux me joue des tours
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom |
|
00
|
|
|
#9 | |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 238 ![]() |
Citation:
Moi j'ai essayé WF 4 pour driver une IHM, ça marche très bien. Et heureusement d'ailleurs. Ce serait inquiétant d'avoir un outils qui "componentise" le code mais qui ne fonctionne pas partout ?
|
|
|
|
00
|
|
|
#10 | |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 6 544 ![]() |
Citation:
Pour ce type de workflow, je préfére utiliser K2 BlackPearl. (outil de workflox basé sur WF et destiné au BPM).
__________________
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça... Une réponse vous a aidé ? utiliser le bouton "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel |
|
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 238 ![]() |
Laquelle ? Parce que la 4 est très bien pensée dans ce sens je trouve.
|
|
|
00
|
|
|
#12 |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 6 544 ![]() |
Tu as sans doute raison, mais je travaille actuellement avec la 3.5 (peut différente de la 3.0 - première version de WF)
Pour la 4, le problème c'est VS 2010 qui est actuellement incompatible avec les développement CF. Donc, comme je ne veux pas utiliser deux plateforms de dev. différentes (une pour les serveurs et stations et l'autre pour les mobiles), je reste pour le moment sur VS 2008/3.5. Et si j'ai regardé un peu le FW 4.0, je ne me suis pas spécialement penché sur la partie WF.
__________________
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça... Une réponse vous a aidé ? utiliser le bouton "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel |
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 238 ![]() |
Moi j'ai fait l'inverse. Après avoir essayé de faire certaines choses avec WF dont des workflows métier, j'ai abandonné vite et je m'y suis remis avec le 4.
Qui en mon sens est bien meilleur car plus léger et mieux délimité. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com