OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

OneCode今天(12月10日)正式更新了其V2.0版本。从OneCode的季度版本生命中,可以看到2.0版本还是一个重量级的版本,笔者在收到2.0更新后第一时间下拉了最新的代码。在参考了OneCode 的技术说明后,根据包结构来分析一下OneCode2.0的结构。

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

一,OneCodeV2.0 更新说明

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

(1)基线由1.1.2升级到了2.0

从中央仓库的OneCode版本来看,已经统一调整到了2.0版本。相应的Gitee 仓库也做了更新。

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

(2)OCStuido 开发工具也变更了2.0版本

onecode/onecode低代码引擎

OCStuido 版本这次采用了一个新的版本号,onecode-all.

同时在版本提交日志中也显示改版本为完整版OneCode,并且在版本说明中简单介绍了包说明。

更新代码后,发现src下的源码数量也大大增加。

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

(3)私有云部署包也统一调整到了2.0版本

这次私有云版本中,没有发现太多的更新。但经编译测试后和2.0版本还是可以兼容使用的。

二,OCStuido2.0 新更代码包结构说明

这次OneCode更新,最主要的部分还是在OCStudio上开放的代码量上有了一个数量级上的提升,这对于对OneCode感兴趣的开发者而言大大减少了构建工程(以前版本完整源码可以从中央仓库自行解析编译)的工作量,可以快速的阅读调试OneCode 源代码。下面是笔者根据开放的源码包结构整理的功能模块图:

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

三,领域驱动配置:com.ds.dsm

OneCode-DSM工具集,是OneCode中一个重量级的工具集合。

(1)首页导航页

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

com.ds.dsm.IndexNav 导航页

@Controller@RequestMapping("/dsm/nav/")@MethodChinaName(cname = "DSM导航")@IndexAnnotation@LayoutAnnotation(transparent = false, type = LayoutType.vertical, items = {@LayoutItemAnnotation(panelBgClr = "#3498DB", size = 28, pos = PosType.before, locked = true, moveDisplay = false, cmd = false)})public class IndexNav { @CustomAnnotation(hidden = true, pid = true) public String projectVersionName; @MethodChinaName(cname = "DSM建模") @RequestMapping(method = RequestMethod.POST, value = "DSMInstNavTree") @NavTreeViewAnnotation @ModuleAnnotation(dynLoad = true, imageClass = "spafont spa-icon-conf", caption = "DSM建模") @CustomAnnotation(index = 1) @ResponseBody public TreeListResultModel<List<DSMNavTree>> getDSMInstNavTree(String projectVersionName) { return TreePageUtil.getTreeList(Arrays.asList(DSMNavItems.values()), DSMNavTree.class); }

}

从导航页的配置而言

RequestMapping("/dsm/nav/")

RequestMapping(method =RequestMethod.POST, value ="DSMInstNavTree")

页面资源地为:/dsm/nav/DSMInstNavTree

转换为OneCode .view的访问转换地址

dsm.nav.DSMInstNavTree.view

http://bpm.itjds.net/RAD/bpmVVVERSION0/dsm.nav.DSMInstNavTree.view

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

也可以通过,Studio的仿真菜单进入

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

DSM入口页

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

(2)DSM包视图

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

  • com.ds.dsm.repository资源库管理模块;
  • com.ds.dsm.aggreagtion领域模型构建模块
  • com.ds.dsm.view以及视图工厂配置模块

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

仓储模型模块:主要功能是辅助用户将用户的数据库,外部API接口,以及已有的“代码”应用通过转换器转变为可被DSM识别的资源部格式。

领域模型模块:是DSM核心工具,在领域模型中导入的资源会同具体场景下的值对象,场景菜单、通用域服务根据具体的业务场景完成领域模型的建模工作。

视图工厂是领域模型的具体实现,在领域模型应用中建模输出的产物会通过出码工厂输出位视图应用,这些视图应用会通过视图工厂进一步加工处理输出为用户交互应用。

(3)DSM-Aggregation 领域模型

com.ds.dsm.aggreagtion 包结构

dsm.agg web资源地址

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

功能应用配置

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

(4)DSM-View 视图工厂

com.ds.dsm.view包结构

dsm.view web资源地址

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

视图总览

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

列表配置

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

列表配置

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

表单配置

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

字段配置

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

四,系统配置管理:com.ds.system

(1)com.ds.system.SystemIndex 导航页

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

@Controller@RequestMapping("/system/")@IndexAnnotation@LayoutAnnotation(transparent = false, type = LayoutType.vertical, items = {@LayoutItemAnnotation(panelBgClr = "#3498DB", size = 28, pos = PosType.before, locked = true, moveDisplay = false, cmd = false)})public class SystemIndex { @MethodChinaName(cname = "系统管理") @RequestMapping(method = RequestMethod.POST, value = "SystemNav") @NavTreeViewAnnotation @ModuleAnnotation(imageClass = "xui-icon-bullet", caption = "系统管理") @CustomAnnotation(index = 0) @ResponseBody public ResultModel<SystemNav> getSystemNav(String projectId) { return new ResultModel<SystemNav>(); } @MethodChinaName(cname = "公式管理") @RequestMapping(method = RequestMethod.POST, value = "FormulaManager") @NavTreeViewAnnotation @ModuleAnnotation(dynLoad = true, imageClass = "spafont spa-icon-function") @CustomAnnotation(index = 1) @ResponseBody public TreeListResultModel<List<FormulaTypeItem>> getFormulaManager(String id) { } @RequestMapping(method = RequestMethod.POST, value = "WebSiteTreeNav") @APIEventAnnotation(autoRun = true @NavTreeViewAnnotation @ModuleAnnotation(imageClass = "spafont spa-icon-c-cssbox", dynLoad = true, caption = "模板站点") @CustomAnnotation(index = 2) @ResponseBody public TreeListResultModel<List<DomainTempNavTree>> getDSMTempTreeNav(String id) { return resultModel; } @MethodChinaName(cname = "模板管理") @RequestMapping(method = RequestMethod.POST, value = "CodeTemps") @APIEventAnnotation(autoRun = true) @NavTreeViewAnnotation @ModuleAnnotation(imageClass = "spafont spa-icon-settingprj", dynLoad = true, caption = "模板管理") @CustomAnnotation(index = 3) @ResponseBody public TreeListResultModel<List<JavaTempNavTree>> getTempManager(String id) { return resultModel; } @MethodChinaName(cname = "服务管理") @RequestMapping(method = RequestMethod.POST, value = "ServiceBeanNav") @NavTreeViewAnnotation @ModuleAnnotation(imageClass = "spafont spa-icon-conf1", caption = "服务管理") @CustomAnnotation(index = 4) @ResponseBody public ResultModel<ServiceBeanNav> getServiceBeanNav(String projectId) { return new ResultModel<ServiceBeanNav>(); }}

(2)system.index.view Web导航地址

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

子系统管理

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

租户管理

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

表达式管理

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

模板站点管理

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

出码模板管理

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

微服务配置

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月16日 下午4:07
下一篇 2024年5月16日 下午4:19

相关推荐

  • 株洲党员交党费app下载

    株洲党员交党费app下载 近年来,随着互联网技术的不断发展,党员缴纳党费的方式也发生了变化。现在,我们可以通过下载一款名为“株洲党员交党费”的app,方便地缴纳党费。 下载“株洲党…

    科研百科 2024年10月16日
    9
  • biteable官网

    欢迎来到biteable官网! biteable是一款功能强大的智能助手,可以帮助用户解决各种问题。我们的团队一直致力于开发最先进,最智能的软件,让用户的生活更加便捷,轻松。 bi…

    科研百科 2025年1月2日
    0
  • 手机APP定制开发成本详细介绍(手机app软件开发定制)

    首先开发一款app的费用是根据功能报价的,不同的功能价格成本也不一样。接下来合肥app开发公司中伟科就和大家聊聊手机APP定制开发成本。虽然现在开发一个手机App软件并不难,但也没…

    科研百科 2023年3月26日
    202
  • 四类以上科研项目

    科研项目是推动科技进步的重要力量,四类以上科研项目是推动科技进步的重要力量。这些项目涉及多个学科领域,旨在解决现实世界中的各种问题。本文将介绍四类以上科研项目的特点和重要性。 四类…

    科研百科 2024年10月1日
    21
  • 一级业务流程和二级的区别

    一级业务流程和二级业务流程的区别是什么? 业务流程是指企业或组织在执行任务过程中所经过的一系列步骤和环节,包括决策、执行、监督、控制等。在企业中,业务流程是一个重要的概念,它决定了…

    科研百科 2024年11月6日
    2
  • 微信项目管理工具

    微信项目管理工具: 让团队协作更高效 随着微信的广泛普及,越来越多的企业和组织开始利用微信进行项目管理。微信项目管理工具,作为一种新型的项目管理工具,能够帮助企业和组织更好地管理和…

    科研百科 2024年7月22日
    47
  • 房地产项目公司管理制度(房地产公司项目管理方案)

    房地产公司项目管理方案房地产公司项目管理方案6月13日,办公室一名未成年人闯进了一所名为“汽车工业工程工程”的科技公司,与一名专业的数学专业的人发生了冲突。“他觉得当时股票落地的话…

    科研百科 2024年9月26日
    29
  • CBD商圈党委发布 党建标准化工作指引(商圈党建示范点)

    8月16日晚,在福田区委和福田街道党工委的领导下,CBD商圈党委召集辖区60家企业党支部书记和委员,近70人在CBD商圈党群服务中心召开“不忘初心,牢记使命”主题教育活动暨CBD党…

    科研百科 2023年6月5日
    269
  • 研发项目管理功能有哪些方面

    研发项目管理功能有哪些方面研发项目管理功能有哪些方面?软件:远程管理、系统管理、软件申请、数据分析、算法推荐、项目检测、终端会计学、网络营销、软件设计、数据库编辑、管理、商务英语、…

    科研百科 2024年11月28日
    0
  • 24招生 – 北大软微2024年工程管理硕士(MEM)提前面试通知(北大软微mem招生简章2022)

    1️⃣北大软微MEM介绍: 2️⃣24提面重点解读: 1).2024软微MEM取消全日制班 2).授课地点和方式更单一 3).提面批次有可能缩减 4).加权综合排名占比的规则有变化…

    科研百科 2023年11月18日
    246