MDD框架介绍

一、功能概述

MDD(Model Driven Development),模型驱动开发,是一种企业开发常用的开发模式, 主要通过使用高度抽象的领域业务模型作为构件,完成代码转换实现或各种模型驱动引擎配 置支撑,降低开发成本,应对复杂需求变更。
MDD 开发框架,是用友云针对企业数字化中台理念实现的一套开发框架。从企业云服 务核心问题域出发,总结提炼出最佳实践,且形成了统一的标准及规约。致力于支撑中台能力快速孵化,形成中台各能力间连接的纽带,最终实现中台基础上的企业数字化业务重构及创新快速开发实现。
框架的主要目的实现模型和技术框架的分离,系统的业务部分和技术部分都可以各自进化而互不影响,让开发者更专注业务,并能够让初级的研发人员快速的开发出复杂的业务功能,其余由框架来封装屏蔽技术细节,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。
同时通过各种业务模型沉淀,也能为实现企业实现业务的技术积累,有助于企业业务分析。

二、MDD 开发框架架构概述

2.1、功能架构

图 1

2.2、框架模块说明

模块 依赖模块 功能描述
mdd-basemeta-resources - 公共基础元数据xml jar
mdd-basic - 基础接口及 model
mdd-common mdd-basic 基础模型 Util工具等; 接入 ucf-core 异常
mdd-core mdd-common,mdd-rpc,
mdd-redis-support
核心公共处理逻辑; 接ucf-log
mdd-dao mdd-uimeta-sdk 数据操作 orm 接入模块
mdd-redis-support - Redis 配置模块
mdd-rpc mdd-common RPC 调用支持模块
mdd-rule-sdk mdd-core 规则引擎 SDK
mdd-uimeta-design mdd-dao 模板设计器支持模块
mdd-uimeta-sdk mdd-rule-sdk UI 元数据引擎 SDK
mdd-uretail-support mdd-common, mdd-rpc RPC 调用零售服务端兼容包
mdd-default-rules mdd-uimeta-sdk 默认规则
mdd-test-start mdd-uimeta-sdk,
mdd-dao,
mdd-default-rules
简单的 springboot 启动测试模块

2.3、MDD驱动模块说明

模块 依赖模块 功能描述
ucf-mdf-api - 对外服务层
ucf-mdf-app ucf-mdf-domain
ucf-mdf-conf
应用层
ucf-mdf-bootstrap ucf-mdf-app 脚手架启动模块
ucf-mdf-domain - 领域模块
ucf-mdf-conf - 配置模块
ucf-mdf-tools ucf-mdf-conf 工具模块,包含生成建表语句模型实体等功能

三、规则链

图 2

3.1、概述

动作规则即页面某按钮触发点击动作时,后端服务所执行的逻辑合集,最小单位称为规则,合集称为某动作的规则链。
什么叫规则,说白了就是通过从规则注册表中查询到规则 ID(字符串),并当作 BeanName 获取到 Spring 注册的 service,并通过接口方法调用 execute 方法来执行一段逻辑获取最终结果。

3.2、规则分层

规则总的分层分为系统级和租户级,每一级分层下又分为通用级、模块 级和单据级。系统和租户分层区分在于注册表中租户 ID 字段。 下一级分层 区分 billnum 字段。
目前YonBuilder客开的方式只支持单据级

图 3

3.2、系统预制默认规则

  • mdd-default-rules包

图 4

四、系统预制功能Controller

  • mdd-web包
    • AlmightyController客开功能入口
    • BillController系统预制的增删查改入口

图 5

Copyright © 用友客户成功部 2020 all right reserved,powered by Gitbook修订时间: 2020-09-09 09:30:47

results matching ""

    No results matching ""