Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um fluxograma é um paradigma bem conhecido para projetar programas. A atividade Fluxograma é normalmente usada para implementar fluxos de trabalho não sequenciais, mas pode ser usada para fluxos de trabalho sequenciais se nenhum nó FlowDecision for usado.
Estrutura de fluxograma do fluxo de trabalho
Uma atividade de fluxograma é uma atividade que contém uma coleção de atividades a serem executadas. Os fluxogramas também contêm elementos de controlo de fluxo, como FlowDecision e FlowSwitch<T>, que direcionam a execução entre as atividades contidas baseando-se nos valores das variáveis.
Tipos de nós de fluxo
Diferentes tipos de elementos são usados dependendo do tipo de controle de fluxo necessário quando o elemento é executado. Os tipos de elementos de fluxograma incluem:
FlowStep- Modela uma etapa de execução no fluxograma.FlowDecision- Execução de ramos com base em uma condição booleana, semelhante a If.FlowSwitch– Direcionamento de ramos com base num switch exclusivo, semelhante a Switch<T>.
Cada link tem uma Action propriedade que define uma ActivityAction que pode ser usada para executar atividades filhas e uma ou mais Next propriedades que definem quais elementos devem ser executados quando o elemento atual terminar a execução.
Criação de uma sequência de atividades básica com um nó FlowStep
Para modelar uma sequência básica na qual duas atividades são executadas por sua vez, o FlowStep elemento é usado. No exemplo a seguir, dois FlowStep elementos são usados para executar duas atividades em sequência.
<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>
Criação de um fluxograma condicional com um nó FlowDecision
Para modelar um nó condicional de fluxo em um fluxo de trabalho de fluxograma (ou seja, para criar um link que funcione como o símbolo de decisão de um fluxograma tradicional), usa-se um nó FlowDecision. A propriedade Condition do nó é definida como uma expressão que define a condição, e as propriedades True e False são definidas como instâncias FlowNode a serem executadas se a expressão for avaliada como true ou false. O exemplo a seguir mostra como definir um fluxo de trabalho que utiliza um nó FlowDecision específico.
<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>
Criando um switch exclusivo com um nó FlowSwitch
Para modelar um fluxograma no qual um caminho único é selecionado com base em um valor correspondente, o nó FlowSwitch<T> é utilizado. A propriedade Expression é definida como um Activity<TResult> com um parâmetro de tipo Object, que define o valor a ser comparado às opções. A Cases propriedade define um dicionário de chaves e FlowNode objetos para corresponder à expressão condicional e um conjunto de FlowNode objetos que definem como a execução deve fluir se o caso dado corresponder à expressão condicional. O FlowSwitch<T> também define uma Default propriedade que define como a execução deve fluir se nenhum caso corresponder à expressão de condição. O exemplo a seguir demonstra como definir um fluxo de trabalho que usa um FlowSwitch<T> elemento .
<Flowchart>
<FlowSwitch>
<FlowStep x:Key="Red">
<WriteRed/>
</FlowStep>
<FlowStep x:Key="Blue">
<WriteBlue/>
</FlowStep>
<FlowStep x:Key="Green">
<WriteGreen/>
</FlowStep>
</FlowSwitch>
</Flowchart>