【LuBase低代码框架】表单引擎字段类型设计

背景

在软件行业的发展过程中,从业者对于开发效率和质量提升是一直在追随的一个目标。通过复用软件模块来实现这些目标通常是一种有效的手段,从头文件引入、面向对象的封装、动态库的引入、代码生成器类工具、低代码引擎等,随着行业技术发展能复用的层次也从底层的文件逐步到界面层面的复用。本文主要围绕在OA、低代码平台中必不可少的一个组件表单引擎,对表单控件的扩展性进行研讨。

表单引擎的组成

表单引擎一般分为表单设计器和表单渲染引擎两部分组成,表单设计器一般通过托拉拽的形式定义表单的样式和交互行为,并把配置信息通过JSON的形式保存到数据库中,表单渲染引擎通过读取数据库中的配置信息,动态生成表单对其渲染。在这种设计模式之下,表单控件是否能扩展,扩展性如何,将直接绝对表单引擎的能力。以下以LuBase低代码框架为例,介绍其表单控件的扩展是如何实现的。

LuBase表单控件类型的设计方式

表单引擎通常会提供较为丰富的控件类型来满足日常的业务需求,不同的控件类型在不同的数据库中有不同的映射类型,比如:一个复选框在MySQL中映射为tinyint类型,在MSSql中映射为bit类型。所以在扩展控件类型的时候必须要考虑数据库的兼容性,这样的一种耦合性会导致表单引擎的扩展性变差。所以LuBase提供了一种机制来支持不同数据库的兼容性,它定义了两个概念,一个字段类型,一个显示类型;一个字段类型可以有不同的显示类型,显示类型决定了最终的UI交互,字段类型决定了在不同的数据库中的映射类型。没有什么耦合是在两个层级之间增加一层解决不了的。如下表所示:

在这里插入图片描述
效果如下:字段类型定义了常用的文本、数字、时间、下拉等类型,显示类型决定了不同的显示效果。
在这里插入图片描述
在这里插入图片描述

字段类型和各数据库中类型对应关系

LuBase表单控件的扩展点设计到对显示类型的扩展,例如:一个字段类型为文本的字段,它可以显示为一个文本框,也可以显示为一个身份证输入框,再或者是其他显示类型。字段类型决定了数据库的映射类型,决定了数据新增更新时的处理逻辑,所以这块不提供扩展功能,不过框架实现了常用的字段类型。当然这么设计的弊端就是,如果需要扩展数据库控件的存储类型,必须通过修改框架来实现。LuBase的字段类型与各数据库映射关系,如下表所示:
在这里插入图片描述

更多信息入群交流

在这里插入图片描述

  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值