Folyamatábra munkafolyamatai
A folyamatábra jól ismert paradigma a programok tervezéséhez. A folyamatábra-tevékenység általában nem szekvenciális munkafolyamatok implementálásához használatos, de szekvenciális munkafolyamatokhoz is használható, ha nincsenek FlowDecision
csomópontok.
Folyamatábra munkafolyamat-struktúrája
A folyamatábra-tevékenység olyan tevékenység, amely a végrehajtandó tevékenységek gyűjteményét tartalmazza. A folyamatábra olyan folyamatvezérlő elemeket is tartalmaz, mint például FlowDecisionFlowSwitch<T> a tárolt tevékenységek közötti közvetlen végrehajtás a változók értékei alapján.
A folyamatcsomópontok típusai
A rendszer különböző típusú elemeket használ attól függően, hogy milyen típusú folyamatvezérlésre van szükség az elem végrehajtásakor. A folyamatábraelemek típusai a következők:
FlowStep
- A folyamatábra egy végrehajtási lépését modellozza.FlowDecision
- Az ágak végrehajtása logikai feltétel alapján, hasonló módon If.FlowSwitch
– A végrehajtást egy kizárólagos kapcsoló alapján hajtja végre, hasonló módon Switch<T>.
Minden hivatkozás rendelkezik egy Action
tulajdonsággal, amely meghatározza a gyermektevékenységek ActivityAction végrehajtásához használható tulajdonságokat, valamint egy vagy több Next
tulajdonságot, amelyek meghatározzák, hogy melyik elemet vagy elemeket kell végrehajtani az aktuális elem végrehajtásakor.
Alapszintű tevékenységütemezés létrehozása FlowStep-csomóponttal
Egy alapütemezés modellezéséhez, amelyben két tevékenység egymás után fut, a rendszer az FlowStep
elemet használja. Az alábbi példában két FlowStep
elemet használunk két művelet egymás utáni végrehajtásához.
<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>
Feltételes folyamatábra létrehozása FlowDecision csomóponttal
A folyamatábra-munkafolyamatok feltételes folyamatcsomópontjainak modellezéséhez (azaz egy hagyományos folyamatábra döntési szimbólumaként működő hivatkozás létrehozásához) a rendszer egy csomópontot FlowDecision használ. A Condition csomópont tulajdonsága egy olyan kifejezésre van állítva, amely meghatározza a feltételt, és False a True tulajdonságokat olyan példányokra állítja beFlowNode, amelyeket végrehajt, ha a kifejezés kiértékeli a feltételt true
vagy false
. Az alábbi példa bemutatja, hogyan definiálhat csomópontot használó munkafolyamatot 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>
Kizárólagos kapcsoló létrehozása FlowSwitch-csomóponttal
Egy olyan folyamatábra modellezéséhez, amelyben egy egyező érték alapján egyetlen kizárólagos elérési út van kiválasztva, a FlowSwitch<T> csomópontot használja. A Expression tulajdonság olyan típusparaméterre Object van beállítvaActivity<TResult>, amely meghatározza a választási lehetőségeknek megfelelő értéket. A Cases tulajdonság meghatározza a feltételes kifejezéssel egyező kulcsok és FlowNode objektumok szótárát FlowNode , valamint egy olyan objektumkészletet, amely meghatározza, hogyan történjen a végrehajtás, ha az adott eset megfelel a feltételes kifejezésnek. Az FlowSwitch<T> is definiál egy Default tulajdonságot, amely meghatározza, hogyan történjen a végrehajtás, ha nincs olyan eset, amely megegyezik a feltételkifejezéssel. Az alábbi példa bemutatja, hogyan definiálhat egy elemet használó munkafolyamatot FlowSwitch<T> .
<Flowchart>
<FlowSwitch>
<FlowStep x:Key="Red">
<WriteRed/>
</FlowStep>
<FlowStep x:Key="Blue">
<WriteBlue/>
</FlowStep>
<FlowStep x:Key="Green">
<WriteGreen/>
</FlowStep>
</FlowSwitch>
</Flowchart>