RSS订阅 | 匿名投稿
您的位置:网站首页 > 公司新闻 > 正文

状态机入门:从定义到使用

作者:habao 来源: 日期:2018-8-27 0:18:32 人气: 标签:公司发货流程图

  状态机是什么?状态机应该如何去应用呢?状态机可以对业务状态进行梳理,一目了然,之后可以根据业务场景不断增加。

  在工作过程中,意外接触了一个词——“状态机”,这是个什么意思,可以为我们做产品提供怎样的用处?

  在刚进入公司的时候,根据公司产品做流程图的时候,发现自己经常会漏了这样或那样的状态,导致整体流程会有问题。后来知道了状态机这样的东西,发现用这幅图就可以很清晰的表达整个状态的流转。当然这个不是做好一款产品的必备品,但是却可以让你更加轻松的同技术等人员交流。

  如果流程围绕某个事物的状态变化进行,显而易见,该轮到状态机图上场了。一个状态机图中只描述一个事物,该事物有多个状态,不同的动作作用到状态上导致状态的转换。

  状态机可归纳为4个要素,即现态、条件、动作、次态。这样的归纳,主要是出于对状态机的内在关系的考虑。“现态”和“条件”是因,“动作”和“次态”是果。

  在了解关于状态机的文章后,结合自己的平时的学习总结,我发现:在平时的业务过程中,判断即对应状态机理论中的条件,我们做什么操作改变状态即理论中的动作,同时状态必须要有始有终,否则会出现状态卡住,无法继续正常推进。

  以物理课学的灯泡图为例:就是一个最基本的小型状态机,这个例子人人里的很多大神都已经举过了,这里就简单说下。

  这里有个比较形象的案例就是淘宝的自动确认收货,卖家发货后状态变为待收货,若买家迟迟不点确认收货的话,那么流程就停止在这里,卖家也迟迟收不到货款。

  因此,在这里,淘宝做了一个条件,判断时间是否达到15天,如果达到15天,做出确认收货的动作,使得状态得到流转。

  以小灯泡为例:假设为了节约,小灯泡开了超过8个小时就自动关闭,除非再次做打开开关的操作,眼皮跳吉凶画出此时的状态机图如下:

  同样的状态判断应用了很多场景,例如:患者购买服务或商品时,订单由待支付-已支付的状态中的通过时间条件来实现状态得到继续流转。

  但是,判断不是状态机必要的,如:正常小灯泡的两种状态,可以不需要经过判断。起始和终止状态可能是相同的,也可能是不同的,即同一种状态可能是起始状态,也可能为终止状态。

  一般情况下,我们使用的均为有限状态机。状态机可以对业务状态进行梳理,一目了然,之后可以根据业务场景不断增加。

  本文由 恒宇国际(www.neivn.cn)整理发布

读完这篇文章后,您心情如何?
0
0
0
0
0
0
0
0
本文网址:
下一篇:没有资料