我想解耦 MVC 网页,以及它们的显示顺序。一般来说,我认为这些是我需要解决的场景,但我很容易陷入一种特定的思维方式。我只想找到有助于控制流程的模式或对象。
示例页面排序:
-- 特殊情况:如果用户导航到或手动输入无效的 URL,则系统应做出相应响应(重定向到当前步骤)
对于用户可能进入多个“有效状态”的那些时候,上面的前向概念应该适应(例如在状态机中)
问题:
我将如何在 MVC3/WF4 应用程序中实现此页面控制流?
最佳答案
我们自己正在考虑与您的提案类似的架构。
MVC部分主要是用Llblgen Pro+自定义ASP.Net模板自动生成的代码,
因此,我们希望从其他地方控制业务逻辑(和页面工作流)。
我们仍在研究最终决定,WF 4.0 是一个候选者(因为创建可重用事件的库非常容易),但无状态状态机似乎是一种非常简单的方法,也更易于维护。
我们已经有一个 ORM 生成的持久层,因此,在 future 的任何时间恢复暂停的工作流状态并不是什么大问题。
看看无状态,让我们知道它是否合适。
举例说明:http://blogs.msdn.com/b/nblumhardt/archive/2009/04/16/state-machines-in-domain-models.aspx
已实现的 VS 2010 代码示例:https://github.com/haf/Stateless
关于asp.net-mvc - 在 MVC3 中使用 Workflow Foundation 来处理页面流(如在向导中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6984978/