Search code examples
c#design-patternsuser-interfaceworkflowworkflow-foundation

Recommend a design pattern for a workflow application


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.


Solution

  • What you have described is the Sequence Workflow Pattern.

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