Certaines choses sont plus faciles à implémenter simplement à la main (code), mais certaines le sont via WF. Il semble que WF puisse être utilisé pour créer (presque) n'importe quel type d'algorithme. Donc (théoriquement) je peux faire toute ma logique dans WF, mais c'est probablement une mauvaise idée de le faire pour tous les projets.
Dans quelles situations est-ce une bonne idée d'utiliser WF et quand cela rendra-t-il les choses plus difficiles qu'elles doivent l'être? Quels sont les avantages et les inconvénients / coût de WF par rapport au codage manuel?
.net
workflow
workflow-foundation
Sumrak
la source
la source
Réponses:
Vous pouvez avoir besoin de WF uniquement si l'une des conditions suivantes est vraie:
Pour plus de détails, consultez l'article de Paul Andrew: Pour quoi utiliser Windows Workflow Foundation?
Veuillez ne pas confondre ou associer WF avec une programmation visuelle de quelque nature que ce soit. C'est faux et peut conduire à de très mauvaises décisions d'architecture / conception.
la source
Jamais. Vous le regretterez probablement:
La seule fois où je pourrais concevoir d'utiliser WF, c'est si je voulais héberger le concepteur pour un utilisateur final et probablement même pas à ce moment-là.
Croyez-moi, rien ne sera jamais aussi simple, puissant ou flexible que le code que vous écrivez pour faire exactement ce dont vous avez besoin. Éloignez-vous de WF.
Bien sûr, ce n'est que mon avis, mais je pense que c'est un sacré bon. :)
la source
Le code généré par WF est méchant. La valeur apportée par WF réside dans la représentation visuelle du système, même si je n'ai encore rien vu (6-7 projets en cours avec WF avec lesquels j'ai été impliqué) où je n'aurais pas préféré un projet codé à la main plus simple .
la source
En général, si vous n'avez pas besoin des fonctionnalités de persistance et de suivi (qui à mon avis sont les principales fonctionnalités), vous ne devez pas utiliser Workflow Foundation.
Voici les avantages et les inconvénients de Workflow Foundation que j'ai tirés de mon expérience:
Avantages
Désavantages
la source
La principale raison que j'ai trouvée pour utiliser la fondation de flux de travail est à quel point cela vous apporte hors de la boîte en termes de suivi et de persistance. Il est très facile de faire fonctionner le service de persistance, ce qui apporte fiabilité et répartition de la charge entre plusieurs instances et hôtes.
D'un autre côté, tout comme les applications de formulaires, les modèles de code vers lesquels le concepteur de flux de travail vous pousse sont mauvais. Mais vous pouvez éviter les problèmes en n'écrivant aucun code dans le flux de travail et en déléguant tout le travail à d'autres classes, qui peuvent être organisées et testées par unité plus facilement que le flux de travail. Ensuite, vous obtenez l'aspect visuel cool du concepteur sans la cruauté du code spaghetti derrière.
la source
Personnellement, je ne suis pas vendu sur WF. Son utilité n'était pas aussi évidente pour moi que d'autres nouvelles technologies MS, comme WPF ou WCF.
Je pense que WF sera largement utilisé dans les applications d'entreprise à l'avenir, mais je n'ai pas l'intention de l'utiliser car il ne semble pas être le bon outil pour le travail de mes projets.
la source
La société pour laquelle je travaille actuellement a mis en place une Windows Workflow Foundation (WF) et les raisons pour lesquelles ils ont choisi de l'utiliser étaient parce que les règles changeaient fréquemment et cela les obligerait à recompiler les différentes dll, etc. et donc leur solution. était de placer les règles dans la base de données et de les appeler à partir de là. De cette façon, ils pourraient changer les règles et ne pas avoir à recompiler et redistribuer les dll, etc.
la source
Les flux de travail Windows séduisent les responsables informatiques non codants, les BA et autres, tout comme son cousin BizTalk, mais dans la pratique, les tests unitaires, le débogage et la couverture du code ne sont que trois des nombreux pièges. Vous pouvez surmonter certains d'entre eux, mais vous devez investir massivement pour y parvenir, alors qu'avec un code simple, vous obtenez cela. Si vous avez vraiment un besoin de longue date, vous avez probablement besoin de quelque chose de plus sophistiqué. J'ai entendu l'argument de la possibilité de déposer de nouveaux fichiers xaml en production sans recompiler les dll, mais honnêtement, le temps que les flux de travail consommeront pourrait être mieux utilisé pour améliorer votre intégration continue au point où les déploiements compilés ne sont pas un problème.
la source
Je l'utiliserais dans n'importe quel environnement où je dois travailler avec un flux de travail, mais lorsque je l'utilise en conjonction avec K2 ou même SharePoint 2007, la puissance de la plate-forme est vraiment utile. Lors du développement d'applications métier avec un spécialiste BI, l'utilisation de la plate-forme est recommandée et cela ne serait normalement pertinent que pour rationaliser et améliorer les processus métier.
Pour mémoire, WF a été développé en collaboration avec l'équipe de développement de K2 et le nouveau K2 Blackpearl est construit sur WF, tout comme les moteurs de flux de travail de MOSS 2007 et WSS 3.0.
la source
Lorsque vous ne voulez pas écrire manuellement tous ces codes pour maintenir l'interface visuelle, le suivi et la persistance, c'est un choix judicieux de voter pour WF.
la source
J'utilise le flux de travail Windows depuis des mois maintenant pour développer des activités personnalisées et un concepteur réhébergé que les non-développeurs peuvent utiliser pour créer des flux de travail. WF est très puissant, mais il est aussi bon que les activités personnalisées créées par les développeurs. En fin de compte, un développeur devrait examiner les flux de travail créés par des non-développeurs pour tester et déboguer, mais à partir du moment où ils peuvent créer des projets de flux de travail, c'est fantastique.
De plus, dans les cas où vous avez des processus de longue durée, WF est une bonne pile technologique à utiliser lorsque vous devez mettre à jour des processus de manière dynamique - sans avoir à réinstaller / télécharger ou faire quoi que ce soit, ajoutez simplement les nouveaux fichiers XAML à un répertoire et votre architecture devrait être mis en place avec la gestion des versions pour supprimer l'ancien et utiliser le nouveau.
la source