0

私は基本的なワークフローを構築しており、約 25 の顧客をサポートします。彼らが 1 つの基本的なワークフローに一致するすべての顧客をサポートし、それぞれがほとんど異なる要求を持っていません。たとえば、ある顧客が電子メールを送信したいが、別の顧客は電子メールを送信したくないとします。

  1- make one workflow and in the different requirement I will make switch to check who is   
   the user then switch each user to his requirements 
    (Advantages)this way powerful in maintenance and if there is any common requirements 
                easy to add   
    (Disadvantages) if The customer number increase and be like 100 and each is different 
                  and we expect to have 100 user using the workflow but with the Different 
                  little requirements 
  2- make Differnt workflow for each customer which meaning I will have a 100 workflow 
     in the future and in declaration instantiate the object from the specific workflow 
     which related to the Current user
     (Advantages) each workflow is separate 
     (Disadvantages) - hard to add simple feature this meaning write the same thing 100   
                       time so this is not Professional 

だから私は何が必要ですか?? この状況で私が使用しなければならない唯一の方法なのか、それとも別のテクニックを見逃しているのか知りたい

4

1 に答える 1

0

1 つの方法は、ワークフローを小さな部分に分割し、それぞれが特定のことを行うことです。インバウンド要求の複数のバリエーションをサポートできるように、次のようなレイアウトを編成できます。

Customer1-Activity.xaml
 - Common-Activity1.xaml
 - Common-Activity2.xaml

Customer2-Activity.xaml   
 - Common-Activity1.xaml
 - Common-Activity2.xaml

新しい顧客の場合は、ルート XAML アクティビティを作成するだけで済みます。各アクティビティには、着信要求パラメーターに必要なわずかな変更が必要です。

オプション #2: アクティビティに辞書を渡す

Dictionary<string, object>ワークフローのタイプを入力引数にすることができる、より良いアイデアを考えました。ディクショナリには、ワークフローに指定されたパラメータ/引数セットを含めることができます。その後、ワークフローはパラメーター セットを照会して、その情報で自身を初期化できます。

于 2013-06-03T14:15:32.497 に答える