Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een stroomdiagram is een bekend paradigma voor het ontwerpen van programma's. De activiteit Stroomdiagram wordt doorgaans gebruikt voor het implementeren van niet-sequentiële werkstromen, maar kan worden gebruikt voor sequentiële werkstromen als er geen FlowDecision
knooppunten worden gebruikt.
Stroomdiagram werkstroomstructuur
Een stroomdiagramactiviteit is een activiteit die een verzameling activiteiten bevat die moeten worden uitgevoerd. Stroomdiagrammen bevatten ook stroomcontrole-elementen, zoals FlowDecision en FlowSwitch<T>, die de uitvoering tussen bijbehorende activiteiten sturen op basis van de waarden van variabelen.
Typen stroomknooppunten
Verschillende typen elementen worden gebruikt, afhankelijk van het type stroombeheer dat is vereist wanneer het element wordt uitgevoerd. Typen stroomdiagramelementen zijn onder andere:
FlowStep
- Modelleert een stap van de uitvoering in het stroomdiagram.FlowDecision
- Voer vertakkingen uit op basis van een booleaanse voorwaarde, vergelijkbaar met If.FlowSwitch
– Uitvoeren van vertakkingen op basis van een exclusieve schakelaar, zoals Switch<T>.
Elke koppeling heeft een Action
eigenschap die een ActivityAction eigenschap definieert die kan worden gebruikt voor het uitvoeren van onderliggende activiteiten en een of meer Next
eigenschappen die bepalen welk element of welke elementen moeten worden uitgevoerd wanneer het huidige element is uitgevoerd.
Een basisactiviteitsreeks maken met een FlowStep-knooppunt
Het FlowStep
-element wordt gebruikt om een basisvolgorde te modelleren waarin twee activiteiten achtereenvolgens worden uitgevoerd. In het volgende voorbeeld worden twee FlowStep
elementen gebruikt om twee activiteiten op volgorde uit te voeren.
<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>
Een voorwaardelijk stroomdiagram maken met een FlowDecision-knooppunt
Om een knooppunt voorwaardelijke stroom te modelleren in een stroomdiagramwerkstroom (oftewel, om een koppeling te maken die fungeert als het beslissingssymbool van een traditioneel stroomdiagram), wordt een FlowDecision knooppunt gebruikt. De Condition eigenschap van het knooppunt is ingesteld op een expressie die de voorwaarde definieert, en de True en False eigenschappen worden ingesteld op FlowNode exemplaren die moeten worden uitgevoerd als de expressie resulteert in true
of false
. In het volgende voorbeeld ziet u hoe u een werkstroom definieert die gebruikmaakt van een FlowDecision knooppunt.
<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>
Een exclusieve switch maken met een FlowSwitch-knooppunt
Als u een stroomdiagram wilt modelleren waarin één exclusief pad is geselecteerd op basis van een overeenkomende waarde, wordt het FlowSwitch<T> knooppunt gebruikt. De Expression eigenschap is ingesteld op een Activity<TResult> met een typeparameter die de waarde definieert waarmee keuzes worden vergeleken. De Cases eigenschap definieert een woordenlijst met sleutels en FlowNode objecten die overeenkomen met de voorwaardelijke expressie en een set FlowNode objecten die bepalen hoe de uitvoering moet stromen als de opgegeven case overeenkomt met de voorwaardelijke expressie. De FlowSwitch<T> eigenschap definieert ook een Default eigenschap die definieert hoe de uitvoering moet stromen als er geen gevallen overeenkomen met de voorwaardeexpressie. In het volgende voorbeeld ziet u hoe u een werkstroom definieert die gebruikmaakt van een FlowSwitch<T> element.
<Flowchart>
<FlowSwitch>
<FlowStep x:Key="Red">
<WriteRed/>
</FlowStep>
<FlowStep x:Key="Blue">
<WriteBlue/>
</FlowStep>
<FlowStep x:Key="Green">
<WriteGreen/>
</FlowStep>
</FlowSwitch>
</Flowchart>