低代码如何玩转面向对象的类继承

前言

老铁们!要说Mendix 在低代码领域的过人之处,没两瓶白的再来几斤花生米是唠不完的。

话说“低代码,高逻辑”、“最接近高代码的低代码”、“高低结合”,大家也已耳熟能详。一个要登大雅之堂的产品从来没什么小秘密,无奈江湖险恶,各路玩家从没放弃调(mo)研(fang)我们。

要问我们怕不怕?还真不怕。君不见,2023 Gartner®魔力象限图™ 中对于企业级低代码应用程序平台的评选再次将Mendix放到全球聚光灯下。

凡是过往,皆为序章。Mendix 在既有优势下,探索无人区,打造新的优势增量。另外,仿得了功能,仿不了灵魂。原生低代码,专注19年,和时间一起成长,方有今天的Mendix

以上输出来自上周和某客户CIO畅聊国内低代码丛林的感受。言归正传,今天要聊的干货,正是Mendix一大优势。

需求

有个客户选型低代码,有个订单管理的场景,让我们实现看看。

订单分为总单和组单,两种订单属性基本一致,总单特有的是价格和税费相关信息,组单特有有生产工艺相关信息,并且存在总单对组单一对多的关系。要求:生产管理人员可以在一个界面上查看所有订单,以及总单下挂组单的结构,并且可以点击打开具体订单查看详情。

兵来将挡,分析一下:

  • 数据结构:总单、组单2个实体少不了,之间1对多关系

  • 前端:表格展示订单信息,点击表格某行打开订单详情页

  • 挑战一:总单和组单有大量相同属性,如何设计实体

  • 挑战二:总单和组单如何在一张表格呈现,数据源如何绑定

  • 挑战三:点击同一张表格不同行,如何呈现不同详情表单

Mendix 专治各种“奇形怪状”的需求,要加上一个定语,我说还是用低代码方式。

解题

前面说啥来着?Mendix 有过人之处,其中之一就是开发老司机的软件设计思想它都能兜得住!

显然,作为学过C++面向对象程序设计的我,以上挑战指向一个方案,那就是继承。

  1. 设计一个订单父类,包括总单和组单的公共属性

  2. 设计总单和组单类,继承自订单,分别有专属价格税费和工艺的属性

  3. 一个表格绑定订单类数据,只呈现公共属性

  4. 点击表格行,做类型判断,分别打开对应详情表单

  5. 至于总单下挂组单的结构呈现,前端来点JS?(能行,但不用,想知道实现私我)

所以归根结底,这低代码平台还要能支持面向对象的继承啊!!能整吗?可以!

实现

考虑到阅读到这的都是开发老司机,故事稍微平移一下,用个汽车相关的例子来实现相同意思。

whiteboard_exported_image.png

第一步:设计实体车与派生车

怎么操作?定义子类实体时,选择父类实体为Generalization 对象即可!比如以下油车,补充油车特有属性字段。

Entity.png

相同手法,把电车实体也做好,于是乎铁三角出现。

3entities.png

第二步:设计表格绑定数据呈现车车

这里也都是常规操作,走一个Data Grid表格。注意绑定数据源,务必是父类车。

这样做,标准逻辑是把父类车以下所有子类车车一把梭哈显示出来。

But,显示的是父类中公共属性,切记。差异属性哪里查?且往下看。

page.png

第三步:增加车车详情查看功能

按钮如上图,已添加 Show details。

此步骤七寸在于,如何判断车车类型并打开对应详情表单。于是类型判断闪亮登场!

microflow.png

用到2个组件,一个是绿色的object type decision,另一个是cast object,组合起来就是将父类判断为子类分支。

剩下的工作就是在不同分支打开对应子类(油车、电车)的详情页了。

第四步:收工,泡面,加个蛋

演示视频如下,请观看:

20231212-175344.mp4

结尾

这种需求多不多?多!今天可能是订单,明天可能是产品。业务世界的面向对象特征无处不在。

好不好实现?好!三步可成。

够不够低代码?非常够!Mendix平台把开发老司机的福利放在优先位置,功能考虑周到!

有没讲清楚的?需求篇总单和组单从属结构在一个表格如何展现,私聊可得解!

关于Mendix

作为西门子Xcelerator平台的低代码引擎,Mendix正在迅速成为推动企业数字化发展的首选应用程序开发平台。Mendix让企业能够以前所未有的速度构建应用程序、促进IT团队与业务专家之间开展有意义的协作,并帮助IT团队保持对整个应用程序环境的控制。作为一直被领先的行业分析师视为“领军者和远见者”的低代码平台,Mendix是云原生的、开放的、可扩展的、敏捷的,并且经过实践验证。从人工智能和增强现实,到智能自动化和原生移动,Mendix和西门子Xcelerator已成为“数字优先”企业的中坚力量。Mendix已被46个国家的4,000多家企业采用,并建立了由30多万名开发人员组成的活跃社区,这些开发人员使用该平台创建了20多万款应用程序。

相关推荐

  1. 面向对象继承方式(汇总)

    2023-12-18 18:46:02       40 阅读
  2. 面向对象继承

    2023-12-18 18:46:02       30 阅读
  3. 如何github

    2023-12-18 18:46:02       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-18 18:46:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-18 18:46:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-18 18:46:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-18 18:46:02       18 阅读

热门阅读

  1. vue2源码解析---watch和computed

    2023-12-18 18:46:02       37 阅读
  2. node之mysql篇经典八小时

    2023-12-18 18:46:02       43 阅读
  3. low private exponent attack

    2023-12-18 18:46:02       46 阅读