标签:审核状态机

审核状态机-状态模式的应用

发表于2年前(Dec 14, 2016 8:54:35 PM)  阅读 3839  评论 2

分类: Java

标签: 审核状态机 状态模式 多层审核机制

1、前言

简单描述一下状态模式:

状态模式:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。

在很多情况下,一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态,这样的对象叫做有状态的(stateful)对象,这样的对象状态是从事先定义好的一系列值中取出的。当一个这样的对象与外部事件产生互动时,其内部状态就会改变,从而使得系统的行为也随之发生变化。

这里笔者实现一个审核状态机,主要流程是,用户申请审核,审核人员进行审核通过或者拒绝操作,允许用户取消审核申请。这是常用的一个业务流程,用户可以根据实际情况修改。

2、状态

首先,找出所有的状态,如下图:

NullState主要是初始化的时候给的状态。PassEndState主要是为了应对后面的多层审核机制而加上的,因为管理比较严的流程经常需要进行多层审核。

3、方法

......