Recommend a design pattern for a workflow application

Ben Adams picture Ben Adams · Dec 23, 2011 · Viewed 20.1k times · Source

I am developing an application where the users can execute tasks / workflows. Each task is made up of a queue of actions to be executed. I want to be able to be able to have user input after the workflow is started.

Example:

  • Task starts
    • Action1 starts
    • Action1 ends
    • Action2 starts
    • Action2 ends
    • Action3 needs user input (UI opens window to get user input)
    • Action3 gets user input
    • Action3 starts
    • Action3 ends
  • Task ends

I am developing this i C# and I am aware of Workflow Foundation and tasks in C#. They may have what I need, but I am also interested in hearing about a design pattern for doing this from scratch.

Answer

competent_tech picture competent_tech · Dec 23, 2011

What you have described is the Sequence Workflow Pattern.

There are more Workflow Patterns at the Workflow Patterns initiative and in MSDN Magazine.