• 流程图引擎


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

    一、引擎的设计

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

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

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

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

    判断节点:分支,判断

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

    结束: 结束标识

    二、逻辑设计

    2.1逻辑的抽象层面

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

    三、总结

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

    3.1 抽象的能力

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

    3.2 情商能力

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

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

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

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

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

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

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

     

  • 相关阅读:
    一篇就搞懂Mysql存储引擎和索引的文章
    ShardedJedisPipeline中sync()和syncAndReturnAll()区别
    17.win10安装Nginx及负载均衡配置,实现代理访问内网机器
    iDempiere 使用指南 系统安装 以及 virtualbox虚拟机下载
    程序员学数学【整理】
    element 表单校验
    draggable 拖拽列表排序(指定被拖拽的子元素)
    导出多个表的excel文件
    js自定义鼠标的图片
    table 导出简单的excel
  • 原文地址:https://www.cnblogs.com/yanyouqiang/p/12850712.html
Copyright © 2020-2023  润新知