Bagikan melalui


Alur Kerja Diagram Alur

Diagram alur adalah paradigma terkenal untuk merancang program. Aktivitas Bagan Alur biasanya digunakan untuk menerapkan alur kerja non-berurutan, tetapi dapat digunakan untuk alur kerja berurutan jika tidak ada FlowDecision simpul yang digunakan.

Struktur alur kerja diagram alur

Aktivitas Diagram Alur adalah aktivitas yang berisi kumpulan aktivitas yang akan dieksekusi. Diagram alur juga berisi elemen pengendali aliran seperti FlowDecision dan FlowSwitch<T> yang mengarahkan eksekusi antara aktivitas yang didasarkan pada nilai variabel.

Jenis simpul alur

Berbagai jenis elemen digunakan tergantung pada jenis kontrol alur yang diperlukan saat elemen dijalankan. Jenis elemen diagram alur meliputi:

  • FlowStep - Memodelkan satu langkah eksekusi pada diagram alur.

  • FlowDecision - Eksekusi cabang berdasarkan kondisi Boolean, mirip dengan If.

  • FlowSwitch – Eksekusi cabang berdasarkan sakelar eksklusif, mirip dengan Switch<T>.

Setiap tautan memiliki Action properti yang mendefinisikan ActivityAction yang dapat digunakan untuk menjalankan aktivitas anak, dan satu atau beberapa Next properti yang menentukan elemen atau elemen mana yang akan dijalankan ketika elemen saat ini menyelesaikan eksekusi.

Membuat urutan aktivitas dasar dengan simpul FlowStep

Untuk memodelkan urutan dasar di mana dua aktivitas dijalankan secara bergantian, elemen FlowStep digunakan. Dalam contoh berikut, dua FlowStep elemen digunakan untuk menjalankan dua aktivitas secara berurutan.

<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>

Membuat diagram alur kondisi dengan simpul FlowDecision

Untuk memodelkan simpul alur bersyarat dalam alur kerja bagan alur (yaitu, untuk membuat tautan yang berfungsi sebagai simbol keputusan bagan alur tradisional), simpul FlowDecision digunakan. Properti dari Condition simpul diatur pada ekspresi yang menentukan kondisi, dan properti True dan False diatur pada instance FlowNode yang akan dijalankan jika ekspresi dievaluasi menjadi true atau false. Contoh berikut menunjukkan cara menentukan alur kerja yang menggunakan simpul 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>

Membuat sakelar eksklusif dengan simpul FlowSwitch

Untuk memodelkan diagram alur di mana satu jalur eksklusif dipilih berdasarkan nilai yang cocok, simpul FlowSwitch<T> digunakan. Properti Expression diatur ke Activity<TResult> dengan jenis parameter Object yang digunakan untuk mencocokkan pilihan. Properti Cases menentukan kamus kunci dan FlowNode objek yang cocok dengan ekspresi bersyarat, dan sekumpulan FlowNode objek yang menentukan bagaimana eksekusi harus mengalir jika kasus yang diberikan cocok dengan ekspresi bersyarat. FlowSwitch<T> juga menentukan properti Default yang menjelaskan bagaimana eksekusi seharusnya berlangsung jika tidak ada kasus yang sesuai dengan ekspresi kondisi. Contoh berikut menunjukkan cara menentukan alur kerja yang menggunakan FlowSwitch<T> elemen.

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