尝试设计一款配置项的分支框架
需求:
![]()
- 业务有大量的流程分支,分支快关打开以后会走新的流程分支,或者做业务通知,类似上图
![]()
- 分支开关叫做Options(选项、配置项),配置项会影响流程,包含集中基础类型,boolean做分支判断,Int、String、Double这些能够对应Properties属性
- 这样会导致业务流程上拥有大量的业务分支代码,使得代码的主流程不清晰
分析
- 需要一款框架集中处理分支流程业务,使得分支流程业务能够清晰可控和统一管理的特性
- 尝试设计一款分支流程框架来独立处理每次的业务流程分支
- 所有的配置项采用SpringBoot配置文件application.properties存储,这样配置项能够做分组和多维信息展开,利于结构性设计
- 配置项分两类:影响流程分支、不影响流程分支
- 不影响流程分支的就是普通的属性参数,不单独处理
- 影响流程分支的配置项分为两类:流程走向、流程插入
- 流程插入的功能设计,主流程采用面向对象的方式去编写,分支流程和流程段采用组件的形式,能够保证单例和状态无关,两者衔接采用配置项接口框架
设计
- 不太需要一款完整的规则引擎去处理整个流程的设计,因为规则引擎的特点是能够支持动态灵活的流程和功能
- 设计一款基于注解的分支流程开发功能,能够通过切面的形式实现分支流程的决策和转换,参考liteflow的使用:https://github.com/bryan31/message-demo
- 能够将不同的流程任务设计成组件,通过组件互相嵌入调用,主流程正常业务编写,分支流程通过切面去设计分支调用,不影响主流程的业务关联关系
posted on
2022-11-22 15:56
流浪的夜空
阅读(
46)
评论()
收藏
举报