1、处理链路长:一个完整流程需要多个节点处理。
2、节点的分支情况多:同一节点下根据不同业务类型有不同的处理逻辑。
3、数据结构复杂:数据表多、关联关系多、星型->网状。

开发复杂业务的逻辑基础
学习复杂业务开发,先需要了解伯姆-贾可皮尼理论。伯姆-贾可皮尼理论也被称为结构化编程(Structured Programming)是由E.W.Dijikstra在 1968 年提出的一种编程范式,E.W.Dijikstra在1968年发表的著名文章 《Go To Statement ConsideredHarmful》中提出了应该从所有 “高级” 编程语言中废除 go to语句,因为它使分析和验证程序正确性的任务变得复杂,并提出了用结构化编程来替代。并且在这篇文章中概述了对这三种控制结构的证明。
顺序结构中,通过枚举法对序列中的每个输入,追踪其对应的输出值的变化,从而证明程序的正确性。
选择结构中,通过枚举法证明分支结构中每条路径的正确性。
选择结构中,使用数学归纳法证明。
此概念理论上可以由结构化程序理论所证明,也可以使用具有控制结构的编程语言来实现结构化编程。这样一来,一个大型问题可拆分为一系列高级函数的组合,而高级函数各自又可以继续被拆分为一系列低级函数,每个被拆分出来的函数可以用结构化编程范式来书写,如此无限递归。
三个逻辑开发实例
复杂业务开发的三个基础逻辑,实际操作起来如何呢,接下来会以全栈式全自动开发工具SoFlu软件机器人的为例,举例说明:
1、首先,顺序结构是指按照程序编写的顺序从上到下运行,中间没有任何判断和跳转。如下图所示,顺序流程有开始,然后是步骤A、步骤B、步骤C,最后是结束。使用SoFlu软件机器人开发,首先第一个节点是开始,然后是个赋值组件来获取用户输入的密码,再通过一个函数组件,使用MD5加密算法对用户输入的密码进行加密,最后是结束。
然后,介绍分支流程。分支流程是根据条件选择性地执行对应的分支,类似于Java代码中的if...else操作。如下图所示,在开始后,有个条件判断,如果为true,就执行语句体,然后结束,如果为false,就跳过语句体直接结束。使用SoFlu软件机器人开发平台中也是一样,如下图所示,在第一个开始节点后,有一个互斥条件组件,通过点击连接线段,可以在右边的属性面板中设置流转条件,当条件为true时,就执行后续右侧输出结果分支,然后结束;否侧就执行下边的输出结果分支,然后结束。
最后,介绍循环流程,循环流程是根据循环条件重复性的执行某段代码。类似于Java代码中的for 、while、do...while三种循环语句。如下图所示,在开始后,根据条件判断,如果为true就执行循环体,然后是步进语句,接着重复循环,直到条件判断为false,退出循环。那么对应到SoFlu软件机器人开发平台中也是一样,如下图所示,在第一个开始节点后,是一个计数器组件,在该组件的属性面板中,需要选择一个循环流程变量,然后选择操作符,可以是递增或递减操作,这个操作符就是步进语句,对应到Java语言中的for循环语句中,就是我们常用的i++或i--操作。紧接着需要一个互斥条件,当互斥条件为true时,执行下边的单函数分支,然后循环重复,直到互斥条件为false时退出循环,然后执行后续右侧的输出结果分支,并结束。
了解学习了三个基础逻辑,在做复杂项目开发时是不是思路更清晰了呢?
上文中的SoFlu 软件机器人通过可视化拖拽方式以及参数配置就能实现等同于编写复杂代码的业务逻辑,在设计业务逻辑时就完成了微服务应用开发,做到“业务即图,图即代码”,实现“软件开发,十倍提效”。这也就意味着使用SoFlu软件机器人开发可以将开发者从繁琐的代码开发的工作中解放出来,把更多的精力专注于到架构设计等更高价值的工作上,有效提升个人职场竞争力。
为了让更多的开发者能够快速上手SoFlu软件机器人实现智能开发,飞算科技联合国内领先的IT内容服务提供商InfoQ重磅推出《2小时学会10个组件“取代”传统Java开发》系列课程,带领开发者通过十个关键组件的学习探索飞算SoFlu软件机器人。
仅需一顿午餐的时间,就能GET智能开发技能,小伙伴们,还等什么?立即扫码报名,解锁智能化、标准化的新式Java开发吧!
课程学习链接:https://www.infoq.cn/album/105
SoFlu软件机器人下载链接:http://suo.im/d7wln