这个设计更现实的考虑到了复杂流程结构的问题,诸如: 条件与条件的与关系,或关系,在条件为真的执行流程中调用循环,顺序或者另一个条件等等复杂情况.
存在如下表:
(条件表达式:记录各种条件表达式,
真执行模块名,假执行模块名,表达式模块1,表达式模块2 都是[执行模块名],具体含义后面介绍)
字段:条件表达式名,真执行模块名,假执行模块名,关系符,表达式模块1,表达式模块2
(事件:记录各个事件的名称)
字段:事件名
设想一个新概念: [执行模块名]
它是串型的,它可以是[条件表达式名] , 也可以是[事件名,事件参数列表]这样的取值,[条件表达式名]是[条件表达式]表的主键,代表了[条件表达式]表中的一条记录,[事件名,事件参数列表]可以这样用串来表示: ue_login,1;2 ,[,]号后的是事件参数列表,事件参数列表用[;]号隔开,[事件名]是[事件]表的主键,代表了[事件]表中的一条记录.
[执行模块名]能代表要执行的[条件表达式]或要执行的[事件].
建立一个通用程序[执行模块]函数,
名称:执行模块
功能:执行[条件表达式]或[事件]并返回相关值
参数:[执行模块名](前面已讲解过它代表着什么)
返回:执行的事件的返回值
流程:
0 判断[执行模块名]是否条件表达式,如果是则执行1,否则执行2
1 从[条件表达式]表中取得 真执行模块名,假执行模块名,表达式模块1,表达式模块2
1.1 调用[执行模块],以[表达式模块1]作为参数,记录返回值
1.2 调用[执行模块],以[表达式模块2]作为参数,记录返回值
1.3 将1.1和1.2的返回值进行比较,相同执行1.3.1,否则执行1.3.2
1.3.1 调用[执行模块],以[真执行模块名]作为参数,将返回值返回
1.3.2 调用[执行模块],以[假执行模块名]作为参数,将返回值返回
2 将参数分解为事件名和事件参数
2.1 通过事件名和事件参数来调用事件并将返回值返回
自定义流程的假代码
最新推荐文章于 2023-04-01 18:27:11 发布