اکتیویتی Flowchart

چاپ

استفاده ازاکتیویتی Flowchart در Workflow

نحوه ی بوجود آمدن فلوچارت، تاریخچه طول و درازی دارد. فلوچارت ابتدا توسط Frank Gilbreth در سال 1921 مطرح شد و ایشان ابزاری را برای استفاده از آن در مهندسی صنایع معرفی نمودند.

بعنوان یک برنامه نویس شاید قبلاً تجربه استفاده از فلوچارت ها را در رسم یک پروسه یا یک الگوریتم داشته باشید. در این بخش از آموزش Workflow، قصد داریم بازی حدث اعداد را با استفاده از فلوچارت پیاده کنیم. همچنین در این آموزش، نحوه ی استفاده از اکتیویتی FlowDecision را فراخواهید گرفت.

مراحل انجام کار

 پروژه گردش کار GuessNumberGameInFlowChart شامل 5 مرحله زیر است:

  1. ایجاد یک پروژه از نوع Workflow Console Application
  2. ایجاد کلاس ReadNumberActivity برای دریافت عدد حدث زده شده توسط کاربر
  3. طراحی Workflow و نحوه استفاده از اکتیویتی Flowchart
  4. اجرای Workflow
  5. سیستم گردش کار GuessNumberGameInFlowChart چگونه کار می کند؟

ایجاد یک پروژه از نوع Workflow Console Application

یک پروژه جدید از نوع Workflow Console Application ایجاد کنید و آنرا GuessNumberGameInFlowChart نامگذاری نمایید.


ایجاد کلاس ReadNumberActivity برای دریافت عدد حدث زده شده توسط کاربر

در پنل Solution Explorer روی پروژه GuessNumberGameInFlowChart راست کلیک کرده و گزینه Add -> New Item را انتخاب نمایید.

در پنجره Add New Item، نام فایل را "ReadNumberActivity.cs" قرار داده و روی دکمه Add کلیک نمایید.

حالا فایل ReadNumberActivity.cs را باز نمایید و کدهای زیر را در آن پیست کنید، سپس آنرا Save و پروژه را Build نمایید:

ReadNumberActivity.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Activities;

namespace GuessNumberGameInFlowChart
{
    public sealed class ReadNumberActivity : CodeActivity
    {
        public OutArgument OutNumber { get; set; }
        protected override void Execute(CodeActivityContext context)
        {
            OutNumber.Set(context, Int32.Parse(Console.ReadLine()));
        }
    }
}

طراحی Workflow و نحوه استفاده از اکتیویتی Flowchart

از پنل Solution Explorerr فایل Workflow1.xaml را باز کنید و Workflow را مطابق زیر طراحی نمایید:

  1. از پنل ToolBox، اکتیویتی Flowchart را انتخاب کرده و به داخل صفحه طراحی گردش کار بکشید و بقیه موارد را مطابق شکل زیر انجام دهید:


اجرای Workflow

پروژه GuessNumberGameInFlowChart را بعنوان پروژه StartUp تنظیم نمایید و در ادامه برای اجرای Workflow دکمه های میانبر Ctrl+F5 را فشار دهید. با این کار Workflow ذخیره شده و بدون عملیات debugging نتیجه نشان داده خواهد شد. همان طور که می بینید، با 6 بار حدث زدن توانستیم به عدد مورد نظر دست یابیم (32) ...!


سیستم گردش کار GuessNumberGameInFlowChart  چگونه کار می کند؟

حالا که مطلب آموزش داده شده در این قسمت و قسمت قبلی (اکتیویتی DoWhile و IfElse) را مطالعه نمودید، متوجه شدید که برای طراحی Workflow می توانیم از اکتیویتی Sequence یا Flowchart استفاده نماییم. حالا سوالی که مطرح می شود این است که چه موقع از اکتیویتی Sequence و چه موقع از اکتیویتی Flowchart استفاده کنیم؟

برای جواب به این سوال، یک قانون بسیار ساده وجود دارد ...!

اگر برنامه Workflow شما برگشت به عقب دارد باید از Flowchart و در غیر این صورت از Sequence استفاده نمایید.

توجه: در WF 4.0 قابلیت State Machine وجود ندارد، بنابراین یکی از راه های طراحی Workflow هایی که نیاز به State Machine دارند استفاده از اکتیویتی Flowchart است. اما توجه داشته باشید که در NET Framework 4.5. یا  WF 4.5 قابلیت State Machine اضافه شده است. در درس های آینده با State Machine بیشتر آشنا خواهید شد.

{module خرید و دانلود فصل دوم آموزش Workflow}