2010-08-03 67 views
0

我一直在閱讀有關工作流程設計的一些內容,我對如何建模我的應用程序感到困惑。任何幫助是極大的讚賞!.Net Workflow Foundation設計:使用IfElse活動的多個工作流程或一個大工作流程?

這裏的要求:

  • 5個頂層活動
  • 連續工作流程每個頂級活動可能包含1 - 5子活動。
  • 未來可能會推出新的兒童活動。
  • 輸入到工作流程是一個文件和它的類型。根據文件的類型,它必須在每個頂層活動中進行一項或多項兒童活動。
  • 所有頂級的活動和一些孩子的活動適用於所有類型的文檔。
  • 關於5種不同類型的文檔在本公知的。未來可能會增加10個文檔類型的理論最大值。
  • XAML將用於工作流程配置。
  • 框架:3.5 SP1

對於上述要求,可以請你指點什麼是在最初的設計和維護方面的最佳策略:

  • 設計一個大的工作流程與很多IfElse分支在每個頂層活動(文檔類型將在每個分支或子活動進行檢查)

OR

  • 設計獨立的工作流 - 每個類型的文檔每一個。

OR

  • 任何其他更好的選擇?

謝謝!

回答

0

我在WF 3.5 SP1工作了合理的時間和建議如下:

  1. 獨立的工作流 - 一個每每種類型的文件:直向前NO,因爲你必須要穩健足以納入新文件。你根本不能(不應該)把Document類型統計爲常量。業務需求會改變,你會被要求包含更多的10-15文件(所有的時間都在真實世界的軟件中發生)。

  2. 由於新的子活動可能在未來推出,你可以考慮定義5個頂級活動分開的工作流程。這可能有助於您保持個人頂級活動。

  3. 一個大的工作流程,有很多的if-else的聽起來和看起來不錯的開始,但是相信我,它看起來可怕,一旦被添加的條件的合理數量。管理一個巨大的工作流程確實需要更多的努力。

所以,綜上所述,您可以將您的活動分爲5個工作流程,只有頂層活動,然後內部管理他們的孩子的活動,不論其仍作爲參數傳遞的文件類型。

希望它有幫助。

相關問題