领域模型 DSL 重构后台开发效率

64 阅读3分钟

在管理后台开发中,80% 的时间被重复的增删改查页面占据 —— 即便用着若依等模板,仍逃不过 “复制 - 粘贴 - 微调” 的循环。这是无数前端工程师的共同困境:当 AI 编程逐渐吞噬这类重复性工作,固守 CRUD 不仅会让个人竞争力持续贬值,更会错失从 “代码工人” 向 “技术决策者” 跃迁的机会。

破局的关键不在于逃避 CRUD,而在于将重复工作转化为可复用的模板引擎,同时构建 AI 难以替代的核心能力。

传统后台开发的四大痛点

  • UI 重复:每个模块都需要开发表格、表单、详情等高度相似的页面结构
  • 逻辑重复:分页、筛选、排序、提交校验等交互逻辑大同小异
  • 接口对接重复:每个模块都要编写相似的 API 请求、参数处理和响应解析
  • 维护成本高:需求变更时需修改多个页面,易出现不一致性和潜在 Bug

这些重复性工作不仅浪费开发资源,更让工程师陷入低价值的劳动循环。

解决方案:领域模型 DSL 的思想

我们的核心思路是将业务领域页面抽象为 数据驱动的 结构化的 DSL 描述,通过 JSON Schema 定义系统的各个维度,实现从 “编写代码” 到 “配置规则”(初步配置规则,后续根据业务数据自动生成配置项) 的转变。

image.png

DSL 驱动的页面生成流程

1. 配置层处理

领域模型基类配置项(配置项 1/2/3)完成合并,形成统一完整的配置集合后通过,BFF Server 层提供获取配置项的API接口,前端请求获取配置项

2. 前端容器层构建

基于最终配置项构建页面框架核心容器:

  • header-container(导航栏):导航项数量与内容完全由领域模型配置定义
  • sider-container(侧边栏):根据配置需求灵活启用,支持 “导航栏 + 侧边栏” 或 “仅导航栏” 布局

3. 内容层组件体系

容器内部的核心内容区域通过三类组件实现全场景覆盖:

  • schemaView 组件(80% 通用场景)专注解决常规 CRUD 需求的标准化组件,包含:

    • schema-search-bar:数据筛选搜索栏
    • schema-table:支持精细化配置的数据表格
    • schema-form:表单交互模块形成完整的 CRUD 功能闭环
  • IframeView 组件(第三方集成场景)用于加载展示第三方系统页面,解决跨系统嵌入需求

  • customView 组件(20% 定制化场景)支持业务专属功能开发,弥补标准化组件的场景覆盖缺口

4. 灵活扩展机制

框架在扩展性上具备双重保障:

  • 通过customView满足定制化需求
  • 支持 CSR(客户端渲染)方式拓展自定义页面,无需依赖服务端渲染流程,降低定制化开发成本

这种架构将业务元数据与 UI 渲染逻辑彻底分离,真正实现了 “一次定义,多处复用” 的目标。

总结

  1. 分层架构:通过配置层 - 容器层 - 内容层的分层设计,实现标准化与灵活性的平衡
  2. 效率提升:80% 的通用场景通过 schemaView 标准化实现,20% 的定制需求通过扩展机制满足