.net – 我该如何编写类似流程图的代码?或者我应该使用像Windows Workflow Foundation这样的东西?

我正在研究如何最好地开发/编写类似流程图的场景.

例如,如下图所示,我可以在其下面编写伪代码以满足要求.但是,随着流程图的变化,这将变得难以维护.此外,还有相当多的重复,当流程图变得更加复杂时,这种重复也会变得更糟.

我正在尝试解决Windows Workflow基础的问题吗?或者这对于手头的任务来说太过苛刻?

也许有一个明显的解决方案我忽略了?
谢谢你的帮助!

(P.S.我应该提一下,我正在寻找基于.NET的解决方案)

..和伪代码……

Public Function Inbox() as Result

    If IsItImportant() Then
        If IsItUrgent() Then
            If IsItBestUseOfMyTime() Then
                If WillItTakeMoreThan15Mins() Then
                    Return Result.ProjectList
                Else
                    If CanDoItNow() Then
                        Return Result.Now
                    Else
                        If DoesItHaveDeadline() Then
                            Return Result.Calendar
                        Else
                            Return Result.NextAction
                        End If
                    End If
                End If
            Else
                Return Result.Delegate
            End If
        Else
            If IsItActionable() Then
                If IsItBestUseOfMyTime() Then
                    If WillItTakeMoreThan15Mins() Then
                        Return Result.ProjectList
                    Else
                        If CanDoItNow() Then
                            Return Result.Now
                        Else
                            If DoesItHaveDeadline() Then
                                Return Result.Calendar
                            Else
                                Return Result.NextAction
                            End If
                        End If
                    End If
                Else
                    Return Result.Delegate
                End If
            Else
                If IsItReferenceMaterial() Then
                    Return Result.File
                Else
                    Return Result.Trash
                End If
            End If
        End If
    Else
        If IsItWant() Then
            Return Result.Someday
        Else
            Return Result.Trash
        End If
    End If

End Function

最佳答案 这看起来非常适合WF4. WF4比你想象的轻得多.我有相对复杂的工作流程,包含以毫秒为单位执行的自定义活动.此外,它非常容易创建自定义活动,使创建工作流更容易. WPF的设计界面使创建自定义设计师变得轻而易举.

点赞