低代码如何玩转面向对象的类继承
前言
老铁们!要说Mendix 在低代码领域的过人之处,没两瓶白的再来几斤花生米是唠不完的。
话说“低代码,高逻辑”、“最接近高代码的低代码”、“高低结合”,大家也已耳熟能详。一个要登大雅之堂的产品从来没什么小秘密,无奈江湖险恶,各路玩家从没放弃调(mo)研(fang)我们。
要问我们怕不怕?还真不怕。君不见,2023 Gartner?魔力象限图? 中对于企业级低代码应用程序平台的评选再次将Mendix放到全球聚光灯下。
凡是过往,皆为序章。Mendix 在既有优势下,探索无人区,打造新的优势增量。另外,仿得了功能,仿不了灵魂。原生低代码,专注19年,和时间一起成长,方有今天的Mendix。
以上输出来自上周和某客户CIO畅聊国内低代码丛林的感受。言归正传,今天要聊的干货,正是Mendix一大优势。
需求
有个客户选型低代码,有个订单管理的场景,让我们实现看看。
订单分为总单和组单,两种订单属性基本一致,总单特有的是价格和税费相关信息,组单特有有生产工艺相关信息,并且存在总单对组单一对多的关系。要求:生产管理人员可以在一个界面上查看所有订单,以及总单下挂组单的结构,并且可以点击打开具体订单查看详情。
兵来将挡,分析一下:
-
数据结构:总单、组单2个实体少不了,之间1对多关系
-
前端:表格展示订单信息,点击表格某行打开订单详情页
-
挑战一:总单和组单有大量相同属性,如何设计实体
-
挑战二:总单和组单如何在一张表格呈现,数据源如何绑定
-
挑战三:点击同一张表格不同行,如何呈现不同详情表单
Mendix 专治各种“奇形怪状”的需求,要加上一个定语,我说还是用低代码方式。
解题
前面说啥来着?Mendix 有过人之处,其中之一就是开发老司机的软件设计思想它都能兜得住!
显然,作为学过C++面向对象程序设计的我,以上挑战指向一个方案,那就是继承。
设计一个订单父类,包括总单和组单的公共属性
设计总单和组单类,继承自订单,分别有专属价格税费和工艺的属性
一个表格绑定订单类数据,只呈现公共属性
点击表格行,做类型判断,分别打开对应详情表单
至于总单下挂组单的结构呈现,前端来点JS?(能行,但不用,想知道实现私我)
所以归根结底,这低代码平台还要能支持面向对象的继承啊!!能整吗?可以!
实现
考虑到阅读到这的都是开发老司机,故事稍微平移一下,用个汽车相关的例子来实现相同意思。
第一步:设计实体车与派生车
怎么操作?定义子类实体时,选择父类实体为Generalization 对象即可!比如以下油车,补充油车特有属性字段。
相同手法,把电车实体也做好,于是乎铁三角出现。
第二步:设计表格绑定数据呈现车车
这里也都是常规操作,走一个Data Grid表格。注意绑定数据源,务必是父类车。
这样做,标准逻辑是把父类车以下所有子类车车一把梭哈显示出来。
But,显示的是父类中公共属性,切记。差异属性哪里查?且往下看。
第三步:增加车车详情查看功能
按钮如上图,已添加 Show details。
此步骤七寸在于,如何判断车车类型并打开对应详情表单。于是类型判断闪亮登场!
用到2个组件,一个是绿色的object type decision,另一个是cast object,组合起来就是将父类判断为子类分支。
剩下的工作就是在不同分支打开对应子类(油车、电车)的详情页了。
第四步:收工,泡面,加个蛋
演示视频如下,请观看:
结尾
这种需求多不多?多!今天可能是订单,明天可能是产品。业务世界的面向对象特征无处不在。
好不好实现?好!三步可成。
够不够低代码?非常够!Mendix平台把开发老司机的福利放在优先位置,功能考虑周到!
有没讲清楚的?需求篇总单和组单从属结构在一个表格如何展现,私聊可得解!
关于Mendix
作为西门子Xcelerator平台的低代码引擎,Mendix正在迅速成为推动企业数字化发展的首选应用程序开发平台。Mendix让企业能够以前所未有的速度构建应用程序、促进IT团队与业务专家之间开展有意义的协作,并帮助IT团队保持对整个应用程序环境的控制。作为一直被领先的行业分析师视为“领军者和远见者”的低代码平台,Mendix是云原生的、开放的、可扩展的、敏捷的,并且经过实践验证。从人工智能和增强现实,到智能自动化和原生移动,Mendix和西门子Xcelerator已成为“数字优先”企业的中坚力量。Mendix已被46个国家的4,000多家企业采用,并建立了由30多万名开发人员组成的活跃社区,这些开发人员使用该平台创建了20多万款应用程序。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!