2010-08-03 9 views
0

J'ai lu un peu sur les conceptions de flux de travail et je suis confus sur la façon de modéliser mon application. Toute aide est grandement appréciée!. Conception de Workflow Foundation. Workflows multiples ou un grand flux de travail avec les activités IfElse?

est ici l'exigence:

  • flux de travail séquentiel avec 5 haut niveau Activités
  • Chaque activité de haut niveau peut contenir 1 - 5 activités enfants.
  • De nouvelles activités pour enfants peuvent être introduites à l'avenir.
  • L'entrée dans le flux de travail est un document et son type. Basé sur le type du document, il doit passer par une ou plusieurs activités enfants dans chaque activité de premier niveau.
  • Toutes les activités de premier niveau et quelques activités enfants s'appliquent à tous les types de documents.
  • Environ 5 types de documents différents sont actuellement connus. Un maximum théorique de 10 types de documents supplémentaires peut être ajouté à l'avenir. XAML sera utilisé pour la configuration du flux de travail.
  • Framework: 3.5 SP1

Pour l'exigence ci-dessus, pouvez-vous s'il vous plaît conseillez quelle est la meilleure stratégie en termes de conception initiale et la maintenance:

  • Design Un grand flux de travail avec beaucoup de branches IfElse dans chaque activité de haut niveau (le type de document sera vérifiée dans chaque branche ou activité enfant)

oU

  • Créez des flux de travail distincts, un pour chaque type de document.

OU

  • Toute autre meilleure alternative?

merci!

Répondre

0

J'avais travaillé dans WF 3.5 SP1 pour une durée raisonnable et suggère les suivantes:

  1. flux de travail séparés - un chacun par type de document: A tout droit NO, puisque vous devez être robuste assez pour incorporer de nouveaux documents. Vous ne pouvez pas (ne devriez pas) mettre les types de documents comme constants. Les besoins de l'entreprise changeraient et il vous serait demandé d'incorporer plus de 10 à 15 documents (ce qui arrive tout le temps dans tous les logiciels du monde réel). Comme de nouvelles activités enfants peuvent être introduites dans le futur, vous pouvez envisager de définir des workflows séparés pour les 5 activités de premier niveau. Cela pourrait vous aider à maintenir une activité individuelle de haut niveau.

  2. Un grand flux de travail avec beaucoup d'If-Else peut sembler bon et bien au début, mais croyez-moi, il semble horrible une fois qu'un nombre raisonnable de conditions sont ajoutées.Il faut vraiment beaucoup plus d'efforts pour gérer un flux de travail gigantesque.

Donc, pour résumer, vous pouvez répartir à l'intérieur d'eux vos activités en 5 flux de travail pour les activités de haut niveau seulement, puis de gérer les activités de l'enfant quel que soit le type de document qui est toujours passé comme argument.

Espérons que ça aide.

Questions connexes