场景
在业务开发中,经常遇到一些串行或者并行的业务流程问题,而业务之间不必存在相关性。
使用策略和模板模式的结合可以解决这个问题,但是使用编码的方式会使得文件太多,
在业务的部分环节可以这样操作,在项目角度就无法一眼洞穿其中的环节和逻辑。
一些拥有复杂业务逻辑的系统,核心业务逻辑冗长,涉及内部逻辑运算,缓存操作,持久化操作,外部资源调取,内部其他系统RPC调用等等。
时间一长,维护的成本就会越来越高。各种硬代码判断,分支条件越来越多。代码的抽象,复用率也越来越低,各个模块之间的耦合度很高。
一小段逻辑的变动,会影响到其他模块,需要进行完整回归测试来验证。
如要灵活改变业务流程的顺序,则要进行代码大改动进行抽象,重新写方法。
实时热变更业务流程,几乎很难实现 。
LiteFlow
LiteFlow就是为解耦复杂逻辑而生,如果你要对复杂业务逻辑进行新写或者重构,用LiteFlow最合适不过。
它是一个轻量,快速的组件式流程引擎框架,组件编排,帮助解耦业务代码,让每一个业务片段都是一个组件,
并支持热加载规则配置,实现即时修改。
使用LiteFlow,你需要去把复杂的业务逻辑按