elpis学习笔记-DSL领域模型架构设计

0 阅读1分钟

1.什么是DSL设计

DSL 是专为解决特定领域问题而设计的语言或配置规范,我们这里的 DSL 设计是通过 JSON 配置来描述菜单结构、页面类型、表格、搜索、按钮行为等,然后前端根据配置自动渲染出完整的页面。

2.为什么要进行DSL领域模型架构设计

我们在日常工作中可能会对接多家公司开发后台管理系统,这时候我们大多数选择会是复制多份代码,然后再改改配置,改改样式,改改业务逻辑啥的就完事了,这种方式当时是爽了(CV就完事了),但是后期维护系统压力会大很多,因为你改一个功能可能就得改好几份代码,所以我们要进行DSL领域模型的设计,用来减少重复性的工作。

3.设计思路

3.1 整体架构设计

333.png

444.png

3.2 DSL 配置设计

555.png

3.2.1 schema设计

schema采用一份字段配置,多组件复用的设计, 定义好label、type等公用属性后,通过tableOption、searchOption等配置再区分在具体组件里的应用

666.png

4.具体应用

假设有一份model.js项目基类配置,有一份pdd.js项目子类配置,然后根据这两份配置显示pdd对应的页面

888.png

条件操作结果
pdd有的键值,model也有修改(重载)商品管理->商品管理(拼多多)、客服管理->客户管理(拼多多)
pdd有的键值,model没有新增无->信息查询、数据分析
model有的键值,pdd没有保留(继承)订单管理->订单管理

页面显示:

999.png