**

继续《实用篇一》的内容:

**

5. 新增微流

在Module或Module下面的Folder单击右键,在弹出菜单中选Add->Microflow。

mendix平台功能架构图_敏捷开发

输入微流Microflow的名称,点击OK。

mendix平台功能架构图_低代码_02

微流类似C++/Java的函数,以绿色圆圈为start event,红色圆圈为End Event,一个微流只能有一个Start Event,可以有多个EndEvent。

在上部的工具条,包含程序的常见操作。

mendix平台功能架构图_低代码_03

a) Action activity(活动)

选中Action activity,在微流中单击,创建Activity,双击Activity,打开Select Type of Action对话框。

mendix平台功能架构图_敏捷开发_04

mendix平台功能架构图_mendix_05


在微流中,Action Activity是最重要的Action,可以实现各类动作,如创建对象,从数据查询对象,提交对象,打开页面等基本操作,具体如下:

mendix平台功能架构图_mendix平台功能架构图_06


注意:黄色背景是常用的Activity,需要深入研究。b) Exclusive split(if-else分支判断)

mendix平台功能架构图_敏捷开发_07


类似Java中判断逻辑表达式的值,TRUE 和 FALSE 两个分支。点击这个图标:

mendix平台功能架构图_低代码_08


然后在微流中增加分支判断。

mendix平台功能架构图_敏捷开发_09


双击判断框,打开Exclusive Split对话框,设置逻辑表达式。

mendix平台功能架构图_低代码_10


Expression编辑方法:

  • 支持“=”,“!=”,and, or 判断逻辑
  • 应用变量,输入$,会提示当前可用的对象或变量,通过“/”访问对象属性。
  • 访问系统常量,如枚举值,通过“.”访问成员。
  • 使用系统函数,先输入“[”,提示操作如下:

    再backspace删除“[”,则提示所有可用的系统函数、系统常量、枚举值等,如:abs,contain。

    c) Inheritance split(实例判断)

    输入的参数是基类,判断实例的类型,可以有多个分支出口
    例如:生物为基类,动物、植物、微生物继承自生物

    输入参数为生物,乐意通过Inheritance split判断实例的类型,进行不同的处理

    d) Merge 合并

    可用Merge实现多分支合并,Merge没有特殊说明

    e) Annotation备注信息

    微流和函数类似,注释信息必不可少。可以再多处增加注释。
    微流中需要增加必要的注释信息,偏于后续维护时,容易理解作者的思路。

mendix平台功能架构图_敏捷开发_11


对于比较复杂的微流,如果没有注释,可读性会变得很差,比代码的可读性还差。f) Parameter 参数

mendix平台功能架构图_mendix平台功能架构图_12


选中Parameter,在微流编辑窗口空白位置单击,增加参数;一个微流也可以没有参数,也可以有多个参数,在调用微流时候,输入对应的实参。双击参数,进入Parameter对话框:

mendix平台功能架构图_开发平台_13


微流参数可以是对象,也可以是简单的类型变量,如上选择简单数据类型。

mendix平台功能架构图_低代码_14


如上选择data type为对象Object,点击Select按钮选择Entity,输入变量名,点击OK。g) Loop 循环

mendix平台功能架构图_mendix_15


对于列表的遍历,可以通过循环实现,选中Loop,在微流中添加循环,如下图

mendix平台功能架构图_开发平台_16


h) Continue、Break循环控制

mendix平台功能架构图_低代码_17


在循环中,可以通过Continue event跳到下一个,也可以通过Break event终止循环,和传统编程类似。i) End Event重点

mendix平台功能架构图_敏捷开发_18


微流退出时可以带返回值。双击End event,打开End Event对话框

mendix平台功能架构图_mendix_19


Type:选择返回值类型

Return Value:设置返回的值

j) Error event异常处理

mendix平台功能架构图_mendix平台功能架构图_20


调用子微流或者调用外部服务时,不可避免发生异常,为提高系统健壮性,必须手工处理异常。

mendix平台功能架构图_低代码_21


选中要进行异常处理的Activity,从边缘拖拽,松开鼠标时,在弹出的Event列表选中Error event。

mendix平台功能架构图_开发平台_22


在Activity点击右键,弹出菜单选择Set error handing

mendix平台功能架构图_mendix_23


在Error handing对话框选择错误处理类型:

  • Rollback:回滚(默认)
  • Custom with Rollback:自定义处理方式,回滚
  • Custom without Rollback:自定义处理方式,不回滚

未完待续