Engineering

元数据驱动设计 (MDD) 核心解析

少码多思
--

元数据(Metadata)通常被解释为”描述数据的数据”。在低代码平台的构建中,元数据驱动设计(MDD,Metadata-Driven Design)是整个架构的灵魂。

什么是 MDD?

元数据驱动架构的核心流程图

简单来说,MDD 是一种通过配置元数据来动态生成或驱动应用运行的架构模式。

举个例子:

通常我们会硬编码一个用户表单:

<Form>
  <Input name="username" label="用户名" required />
  <Input name="age" type="number" label="年龄" />
</Form>

在 MDD 模式下,我们会定义这样一份 JSON 元数据:

{
  "entity": "User",
  "fields": [
    { "name": "username", "label": "用户名", "type": "string", "required": true },
    { "name": "age", "label": "年龄", "type": "number" }
  ]
}

渲染引擎(Render Engine)在运行时读取这份元数据,动态渲染出对应的表单。

MDD 的优势

多端渲染引擎消费同一份元数据的示意图

  1. 灵活性极高:修改业务逻辑只需要修改 JSON 配置,无需重新编译发布。
  2. 多端一致性:同一份元数据,可以分别被 Web 端、移动端小程序甚至终端 CLI 的渲染引擎所消费。
  3. 能力复用:表单验证、数据清洗等逻辑都可以下沉到引擎层统一处理。

后续我会开源一个迷你的 MDD 渲染引擎,结合 React 和 Tailwind CSS,带大家一起从零实现。

MDD 架构 引擎设计

Discussion

0

Leave your thoughts