码迷,mamicode.com
首页 > 其他好文 > 详细

流程设计(抽象节点法)

时间:2017-01-20 23:27:57      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:否则   flow   images   状态   stat   范围   完全   http   无法   

如何设计一个配置灵活的流程?

要做到以下几点

1.节点状态、节点按钮可以动态的配置,不会影响流程的运行,可以在现有的流程中更改流程的走向

2.节点可以对应多个按钮,即流程进入某一节点的时候可以显示多个按钮

技术分享

FlowNode

流程节点状态,流程节点状态用于表达流程的状态

那么NodeState和ButtonState分别代表什么意思呢?

为什么需要两种状态?举个简单的例子,以一个外卖员接单为例,当外卖员接单后,可能会有两个按钮供他选择,受理订单和拒绝受理(假如超出了他的配送范围),假如受理订单,我们可以用“待取货”来描述NodeState,可以用“已受理”来描述ButtonState,那么对于拒绝受理,该订单将重新回到分派外卖员的节点状态,所以用“待分派外卖员”和“拒绝受理”来描述这一状态,但是对于“待分派外卖员”,这个节点可能同时存在另一个不同的状态,“待分派外卖员”-“商家已接单”,所以这就可以完全区别两种状态了,否则我们无法分清“待分派外卖员”到底是一种什么具体的状态。这两种状态分别对应了一个分派外卖员的按钮。

FlowButton

流程按钮

为什么会有NextNode

我们认为当按钮结束后,订单一定会进入到一种状态,而状态又是和按钮对应的,所以就巧妙地形成了一个流程的闭环,环环相扣,十分巧妙。这也是流程设计的核心思想,根据按钮的行为将节点状态抽象出来,抽象出来的节点只要拥有属于他自己的按钮,并且按钮可以复用,就可以将流程运转起来。

通常依赖这样的一个基本的流程框架,完全可以设计一套符合上述两点的流程出来。

流程设计(抽象节点法)

标签:否则   flow   images   状态   stat   范围   完全   http   无法   

原文地址:http://www.cnblogs.com/njcxwz/p/6329485.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!