UiPath Studio 的官方文档介绍中说到,Studio 中最重要的概念之一是 自动化项目 。
而支持的项目主要有以下三种:
- Sequences - 序列 适合执行线性执行的步骤,允许你平滑地从活动切换到另一个活动,而不会使你的项目变得细碎。
- Flowcharts - 流程图 适合更加复杂的业务逻辑,通过多重流程控制逻辑,允许你集成判断和连接多个活动等更加多样的形式来自动化执行流程
- State Machines - 状态机 适合大型的项目。它们在执行过程中使用有限的状态,这些状态是由条件(转换)或活动触发的。
那么怎么理解 UiPath Studio 的项目呢?
项目其实就是 执行顺序和步骤集合 的框图形式。序列、流程图、状态机这些其实本质上都是一样的,内部都包含了很多代表操作的活动(Activities),每一个活动又可以分解为更小的动作。
如果你学习过任何一门计算机语言,对函数都不会陌生。通常一个函数包含一个代码块,这个代码块能完成某些特定功能。 UiPath 也支持类似的功能,你可以把一个个 Activity 看做成一个个函数,或者代码块。将这些代码块连接起来就是完成特定功能的项目。
而在 UiPath 中是以图形化的方式来编程的。连接这些代码块(Activities)有三种不同的基本形式,那就分别是 序列、流程图、状态机 了。简而言之,从编程的角度看来,项目类型指的就是程序组织形式。
流程图 总是有箭头,按照箭头的方向来执行。
序列 则顺序执行,无需额外添加箭头
状态机 状态机项目看起来只有 一个 Start 节点,一个 Final State 活动和一些 State 活动连起来
状态机项目和流程图项目在外形上很相似。但是它们是完全不同的。流程图程序框图看起来丰富得多,因为 流程图能把各种各样的 Activity 组织在一起,而状态机项目仅仅能直接连接各种状态 。
为什么说 状态机 适合大型的项目?
从结构上讲,状态机更加宏观。它当满足条件的时候跳转到合适的程序段执行,状态与状态之间不会互相影响。虽然从框图上只能看到 一个 Start 节点,一个 Final State 活动和一些 State 活动,实际上 State 内部还可以放入 流程图 , 序列图 ,即 状态机可以包含流程,可以包含序列 。用状态机项目来协调各种流程和序列的运行再好不过了。