Trang chủ » WF » WF4 – Xây dựng Flowchart workflow

WF4 – Xây dựng Flowchart workflow


Trong bài viết này, chúng ta sẽ tìm hiểu về một activity rất quan trọng trong workflow, đó là Flowchart activity. Trong flowchart activity, các child activity được kết nối với nhau qua các cây quyết định (decision tree). Nếu như trong Sequence, các child activities được thực hiện một cách tuần tự top-down theo một thứ tự nhất định, thì trong flowchart activity, các child activities có thể được thực hiện theo một thứ tự bất kỳ và tùy thuộc vào các điều kiện tại các nhánh quyết định (decision branches).

Xây dựng một flowchart workflow

Tạo mới một project Console Workflow Application với tên là FlowcharWorkflow.

Để bắt đầu xây dựng một flowchart, kéo thả một Flowchart activity từ toolbox vào workflow mới vừa tạo ra. Sau khi kéo thả thành công Flowchart activity vào workflow, thì kết quả thu được sẽ như sau

image

Một Flowchart activity luôn có một node khởi đầu như trong diagram biểu diễn ở trên. Điểm khác biệt giữa Flowchart và Sequence chính là cách mà các child activities được sắp xếp. Trong Sequence, child activities được sắp xếp theo một thứ tự duy nhất là trên xuống dưới và đó cũng là thứ tự thực hiện của các activities, đồng thời sự liên kết giữa các activities trong Sequence được tạo ra tự động và theo một chiều nhất định là top-down. Trong Flowchart activity, child activities có thể được sắp xếp tùy ý và bắt buộc người dùng phải định nghĩa các mối liên kết giữa các activities.

Tiếp tục thêm vào một WriteLine activity để xuất ra Console dòng chữ “Hello, Flowchart.”. Sau khi đã thêm vào WriteLine activity vào Flowchart, chúng ta phải thiết lập connections cho các activities trong flowchart này .

image

Nếu chạy Flowchart vừa tạo ra ở trên thì chúng ta sẽ thu được trên màn hình Console một dòng là “Hello, Flowchart.”. Flowchart trên chỉ bao gồm 1 activity duy nhất cùng 1 flow duy nhất. Tuy nhiên, khi làm việc với Flowchart thì chúng ta sẽ có rất nhiều flow cùng với các điều kiện tương ứng cho mỗi flow. Để có thể xây dựng một flowchart như thế, WF4.0 cung cấp sẵn cho chúng ta các activities như là FlowDecision, FlowSwitch<T>

FlowDecision activtity

Quay trở lại với ví dụ trên, chúng ta sẽ sử dụng FlowDecision để đưa ra các lời chào thời gian khác nhau tùy thuộc vào thời gian hiện tại như là “Good morning”, “Good afternoon”, “Good evening”.

image

Đối với FlowDecision, activity này sẽ dựa vào kết quả true hoặc false của condition mà quyết định hướng đi tiếp theo. Chúng ta có thể thấy rằng cách thực hiện này rất giống với If khi chỉ phụ thuộc vào 2 giá trị là true hoặc false để đưa ra quyết định.

Để mở rộng khả năng của Flowchart, chúng ta có thể sử dụng một activity được xem là mở rộng của FlowDecision là FlowSwitch<T>

FlowSwitch<T> activity

FlowSwitch hoạt động giống với FlowDecision activity, tuy nhiên điểm khác biệt là FlowSwitch không phụ thuộc vào chỉ 2 giá trị true hoặc false mà FlowSwitch chấp nhận nhiều giá trị khác nhau. FlowSwitch giống với việc sử dụng switch trong C# thông thường.

image

Có một điểm cần lưu ý là đối với FlowSwitch, vì là một generic class FlowSwitch<T> nên khi kéo thả activity này từ toolbox thì Visual Studio 2010 đòi hỏi chúng ta phải tùy chọn kiểu T cho activity này.

Sơ đồ FlowChart hoàn chỉnh

image

Bình luận

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s