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

流程图引擎

时间:2020-05-08 16:01:22      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:简单   code   方向   text   图片   上下文   操作   size   扩展   

一个可扩展、支持多业务场景对话引擎,同时也可以将引擎应用到其他的场景。

一、引擎的设计

引擎的基本组件包括6个, 开始、执行、响应、判断、子流程、结束

开始节点:流程运行开始的地方

执行节点:执行一段动作,操作。

响应节点:与对话相关,与用户的一次交互

判断节点:分支,判断

子流程: 调用其他的子流程

结束: 结束标识

技术图片

二、逻辑设计

2.1逻辑的抽象层面

技术图片

流程的编辑上,前端以json的数据格式组建数据,然后由后端进行构建。

三、总结

第一次做这种逻辑比较多的设计,对自己提升还是蛮大的,虽然有很多其他的细节,自己当时觉得很满足,但现在提炼出来,就只剩上面一点了。

3.1 抽象的能力

好的抽象能概览操作,方便系统的扩展,如将节点(6种不同)统一归成执行,层次清晰,向下扩展也比较方便

3.2 情商能力

以前很排斥文科这样的,但是发现其实生活中就是这样,形形色色的人。但是我还是觉得只要自己方向明确,到达目的其实是很简单。就以这个来说,之前的对话引擎是什么都没有的,到现在有了这个成品。

3.3 一个基本软件系统可以有的抽象

1、上下文 context: 这个是负责数据的保存,一次的会话过程的记录,所有需要保存的相关性东西的地方

2、资源 resource: 在运行过程中,不可避免的需要一些文件等其他东西,来辅助运行的东西

3、环境 environment: 在不同的环境上,可能需要不能配置等等。

可能还有其他,后续再补充

以一个需要完成跑步为例子,要完成这次跑不的动作,我可能需要
1、穿上跑鞋(资源)
2、到达跑步地点(环境 要去哪里跑)
3、我要记录下我跑了多远(上下文)

 

 

流程图引擎

标签:简单   code   方向   text   图片   上下文   操作   size   扩展   

原文地址:https://www.cnblogs.com/yanyouqiang/p/12850712.html

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