跳到主要内容

元素 Element

我们将低代码平台中涉及的可以单独识别、使用的概念,称之为元素 Element

类 Class:元素的结构定义

所有元素的静态结构均使用类 Class进行定义,这是在低代码平台中注册元素时所必须定义的。

模型可以使用 JSON、XML、YAML、代码或 DSL(领域特定语言)等文件格式进行表示,我们默认使用 JSON 格式。

定义元素的静态结构,使用“类 Class”或“结构 Structure”这两个词均可,参照面向对象设计方法,这里使用“类 Class”这个概念,以方便有过面向对象开发的技术人员理解。

核心概念

概念简介备注
类 Class所有元素的基类
属性 Attribute对象或类的原始数据成员,直接存储数据
刻面 Aspect代表一组属性,且有一定的意义如果只是一组属性,合起来没有明确的语义,那么可以称为“属性组”。合起来有一定语义的,可以将这个“有语义的组”称之为“刻面 Aspect”

必备属性

所有元素的模型定义中均需要包含 elementType属性。

{
"elementType": "element"
}

元素级公共属性

其他公共属性还包括:

属性名称属性 Key描述数据类型长度备注
元素唯一标识符elementUuid所有元素实例 Instance 都必须有 elementUuid,作为全局唯一标识符

如一个按钮元素的实例的模型定义大致如下:

{
"elementUuid": "button19fb1cf83bea4a3f918430d6964b5eb7",
"elementType": "button",
"createdAt": "2021-08-30T06:47:59.692Z",
"updatedAt": "2021-08-30T06:47:59.692Z",
"isDeleted": false,
"createdBy": "user_uuid",
"updatedBy": "user_uuid",
"createdByOrg": "org_uuid",
"updatedByOrg": "org_uuid",
"isPublic": false,
"price": 0,
"version": "1.0"
}

元素关系 Relation

元素之间的关系 Relation包括依赖、引用、继承、组合、聚合等。

元素唯一标识定义规则

可以采用结构化 UUID 的形式进行定义。