我正在寻找关于在基于PureMVC的应用程序中实现流程流/工作流管理的建议。
我们的Flex应用程序包括许多过程,如帐户创建、支付处理等。
在我们的团队中,有一些关于我们应该如何严格地坚持PureMVC模型的讨论。
在PureMVC模型中,进程中的当前状态可以在代理中管理似乎是合理的。
命令显然负责处理每个节点所需的操作和节点转换。
用于管理UI的中介程序。
然而,我认为这里仍然缺少一个重要的部分:一个ProcessController。
我们所审查的方法似乎都违背了PureMVC模型(哪怕只是一点点),或者造成了不可读的代码。
那么其他人是如何处理这个问题的呢?
谢谢柯蒂斯
发布于 2011-12-13 17:20:12
这正是PureMVC StateMachine实用程序(以及一般的有限状态机)要解决的问题。
在简单的XML格式中,您可以定义状态、到其他状态的有效转换以及触发这些转换的操作。
所有这些都是基于通知的,因此您发送StateMachine.ACTION通知,导致StateMachine执行可能需要的任何输入/退出保护逻辑(例如,如果所有数据都有效,则只允许退出FORM_ENTRY状态,或者只有在用户拥有管理权限时才允许进入FORM_PROCESSING状态,等等)。如果发生状态更改,则发送通知,这些通知可用于在进入新状态时组织视图或执行逻辑。
下面是一个StateMachine概述演示文稿,它将给您一个更好的http://puremvc.tv/#P003/想法
发布于 2011-10-12 05:22:06
我认为你关于'ProcessController‘的想法可能是更好的方法。就我个人而言,我不喜欢PureMVC,也不使用它,因为它不允许足够的灵活性或扩展点来帮助解决这些问题。
坦率地说,很难就你的问题提出建议,因为我不知道你到底想做什么。我同意这个问题需要由一个物体来处理。如果可以,请尝试创建一个模型,该模型可以存储流程的数据,并让另一个类对整个过程进行管理。不确定这是否有意义,但话又说回来,你的问题也不是很清楚。
作为额外的补充,我将研究依赖注入。我正在努力记住PureMVC是否会这么做(我不认为它会这么做),但是对于DI来说,这将是一个相当简单的问题。像欧芹和机器人腿这样的框架非常擅长这一点。
发布于 2011-11-11 12:47:27
在pureMVC中,根据实现成语和最佳实践文档,状态机实用程序可能是过程控制器的最佳选择。对于PureMVC来说,使用不管理可见组件的中介程序是非常好的
https://stackoverflow.com/questions/7727269
复制相似问题