Aracılığıyla paylaş


Akış Çizelgesi İş Akışları

Akış çizelgesi, program tasarlamaya yönelik iyi bilinen bir paradigmadır. Akış Çizelgesi etkinliği genellikle sıralı olmayan iş akışlarını uygulamak için kullanılır, ancak düğüm kullanılmaması durumunda FlowDecision sıralı iş akışları için kullanılabilir.

Akış Çizelgesi iş akışı yapısı

Akış Çizelgesi etkinliği, yürütülecek etkinlik koleksiyonunu içeren bir etkinliktir. Akış çizelgeleri, değişkenlerin değerlerine göre kapsanan etkinlikler arasında doğrudan yürütmeyi sağlayan ve FlowSwitch<T> gibi FlowDecision akış denetimi öğeleri de içerir.

Akış düğümü türleri

Öğe yürütülürken gereken akış denetimi türüne bağlı olarak farklı öğe türleri kullanılır. Akış çizelgesi öğesi türleri şunlardır:

  • FlowStep - Akış çizelgesinde yürütmenin bir adımını modeller.

  • FlowDecision - Boole koşuluna göre dal yürütme, benzeri If.

  • FlowSwitch – Özel anahtara göre dal yürütme, benzeri Switch<T>.

Her bağlantı, alt etkinlikleri yürütmek için kullanılabilecek bir ActivityAction öğesini tanımlayan bir Action özelliğe ve geçerli öğe yürütmeyi tamamladığında yürütülecek öğeyi veya öğeleri tanımlayan bir veya daha fazla Next özelliğe sahiptir.

FlowStep düğümüyle temel etkinlik dizisi oluşturma

İki etkinliğin sırayla yürütüldiği temel bir sırayı modellemek FlowStep için öğesi kullanılır. Aşağıdaki örnekte, iki etkinliği sırayla yürütmek için iki FlowStep öğe kullanılır.

<Flowchart>
  <FlowStep>
    <Assign DisplayName="Get Name">
      <Assign.To>
        <OutArgument x:TypeArguments="x:String">[result]</OutArgument>
      </Assign.To>
      <Assign.Value>
        <InArgument x:TypeArguments="x:String">["User"]</InArgument>
      </Assign.Value>
    </Assign>
    <FlowStep.Next>
      <FlowStep>
        <WriteLine Text="Hello, " & [result]/>
      </FlowStep>
    </FlowStep.Next>
  </FlowStep>
</Flowchart>

FlowDecision düğümüyle koşullu akış çizelgesi oluşturma

Bir akış çizelgesi iş akışındaki koşullu akış düğümünü modellemek için (geleneksel akış çizelgesinin karar simgesi olarak işlev gösteren bir bağlantı oluşturmak için) bir FlowDecision düğüm kullanılır. Condition Düğümün özelliği koşulu tanımlayan bir ifadeye ayarlanır ve True ifade veya falseolarak değerlendirilirse ve False özellikleri yürütülecek örneklere true ayarlanırFlowNode. Aşağıdaki örnekte, düğüm kullanan bir iş akışının nasıl tanımlanacağı gösterilmektedir FlowDecision .

<Flowchart>
  <FlowStep>
    <Read Result="[s]"/>
    <FlowStep.Next>
      <FlowDecision>
        <IsEmpty Input="[s]" />
        <FlowDecision.True>
          <FlowStep>
            <Write Text="Empty"/>
          </FlowStep>
        </FlowDecision.True>
        <FlowDecision.False>
          <FlowStep>
            <Write Text="Non-Empty"/>
          </FlowStep>
        </FlowDecision.False>
      </FlowDecision>
    </FlowStep.Next>
  </FlowStep>
</Flowchart>

FlowSwitch düğümüyle özel anahtar oluşturma

Eşleşen bir değere göre tek bir özel yolun seçildiği akış çizelgesini modellemek için FlowSwitch<T> düğüm kullanılır. Expression özelliği, seçimlerle eşleşecek değeri tanımlayan tür parametresi Object ile olarak Activity<TResult> ayarlanır. Cases özelliği, koşullu ifadeyle eşleşecek bir anahtar ve FlowNode nesne sözlüğü ve verilen durum koşullu ifadeyle eşleşiyorsa yürütmenin nasıl akması gerektiğini tanımlayan bir nesne kümesi FlowNode tanımlar. ayrıca FlowSwitch<T> , koşul ifadesiyle eşleşen bir durum olmadığında yürütmenin nasıl akması gerektiğini tanımlayan bir Default özellik de tanımlar. Aşağıdaki örnekte, öğe kullanan bir iş akışının nasıl tanımlanacağı gösterilmektedir FlowSwitch<T> .

<Flowchart>
  <FlowSwitch>
    <FlowStep x:Key="Red">
      <WriteRed/>
    </FlowStep>
    <FlowStep x:Key="Blue">
      <WriteBlue/>
    </FlowStep>
    <FlowStep x:Key="Green">
      <WriteGreen/>
    </FlowStep>
  </FlowSwitch>
</Flowchart>