- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
企企业业级级⾃⾃定定义义表表单单引引擎擎解解决决⽅⽅案案((⼆⼆))--架架构构及及核核⼼⼼模模块块设设计计
先总体介⼀下⼤概的架构和核⼼模块设计。先上⼀张整体设计图
概念还是有点多,有⼀些概念可能⽐较新,如果熟悉K2⾃定义表单,可能⽐较好理解⼀些。代码地址:/kuangqifu/sprite,或者QQ交流:523477776
对核⼼的⼀些功能模块进⾏总体介如下(⽤.netcore实现,其他语⾔整体设计思路相差不⼤)
基础设施:
⾃定义表单主要涉及到数据存储,包括表单定义信息和真实的业务表存储管理,可⽀持不同的数据库存储,edis主要⽤在缓存更新通知上,edis不存储表单定义缓
存
基础组件:
表单基础框架,.netcore实现,⽤Dapper做OM存储,封装了UnitOfWork,另外还包括了模块管理、租户/应⽤管理等基础功能,不包括权限相关功能。
表单定义本地缓存:
表单定义信息对于⾃定义表单来说,访问特别的频繁,真实业务变更极少,需要不少的过滤查询,如果存储到edis,涉及到频繁的访问以及数据过滤,对整体性
能影响也⽐较⼤,所以这⾥考虑把表单定义信息存储到每⼀个应⽤程序内存中,直接从内存中访问表单定义信息,表单定义信息改变时,通知所有应⽤表单定义对应的数
据已经更新,应⽤程序读取数据时,会从数据库读取必威体育精装版的数据存储到内存中。表单定义信息还会存储到浏览器Indexdb中,⼀条总的原则就是访问⾃定义表单定义信息⼀
定要快,就近获取。
基础数据本地缓存:
数据字典(⽤户信息)也可以存储到本地缓存,管理⽅式同表单定义本地缓存,数据字典变更极少,访问⼤;业务表往往只存储⽤户Id,展⽰需要⽤户名称,所以也
存储到本地缓存中。
缓存变更通知:
修改了表单定义信息或者数据字典等,通过edis通知所有应⽤程序清空本地缓存,再次读取数据时,应⽤程序从数据库或者接⼝读取数据再填充到内存中。如果
检测到edis断开连接,则直接从数据库或者接⼝读取数据,待edis恢复,再从内存读取数据。edis可由其他有发布订阅中间件服务替换。
CurrentUser:
只提供接⼝定义,对接具体的框架实现具体的逻辑,⽐如框架使⽤Abp框架,则从Abp的ICurrentUser读取⽤户当前⽤户信息。
微服务调⽤组件:
暂时未迁移,见作者其他博客描述。
租户/应⽤配置管理:
对⾃定义表单数据在租户和应⽤级别进⾏隔离,以⽀持Saas服务。
SpriteComon:
⾃定义表单公共组件/模块
动态Sql:
⾃定义表单⽐较核⼼的内容之⼀,所有对业务表的常规CUD,都是通过动态拼接Sql语句完成以及动态参数,这⾥⾯涉及到⼤量的JObject操作,也就是开发者⽤
得⽐较多的Newtonsoft.Json组件部分内容。
动态查询条件:
对Sql的参数查询,查询条件定义为⼀棵查询树,然后根据树完成Sql查询条件Where⼦句的字符串拼接。
动态表达式:
也是⼀棵树,每⼀个节点为⼀种函数或者取值,⽐如逻辑表达式、⽇期转换函数、从⽅法获取值、固定值等,根据根节点类型返回对应动态值
表单规则:
⾃定义表单灵魂所在,有了表单规则定义,才能称之为表单引擎,可定义视图或者表单规则;
表单规则事件:
⽐如⽤户列表视图新增按钮点击事件,部门树⽤户列表表单部门树视图树节点选中节点变化事件,⽤户列表视图弹出对话框保存事件等,可以是视图/表单本⾝或
者控件触发,也可以是⼦表单/⼦视图本⾝或者控件触发
表单规则执⾏:
当某⼀个规则定义的事件被触发,可定义执⾏⼀系列执⾏动作,⽐如⽤户列表视图新增按钮点击事件触发时,定义执⾏设置⽤户列表选中部门参数、获取⽤户列
表查询参数定义、执⾏后端获取⽤户分页数据⽅法、将执⾏结果传递给⽤户列表等⼀系列动作。再⽐如⽤户列表视图弹出对话框保存事件事件触发,验证⽤户Item视图、
验证通过
定义时和运⾏时验证:
您可能关注的文档
- 2021年浙江省科学中考模拟卷2-(适用绍兴、台州)解析版.docx
- 2022年建团100周年《永远跟党走、奋进新征程》主题班会全文PPT.ppt
- 重庆市事业单位公开招聘工作人员考试管理基础知识模拟9-真题-无答案.docx
- 【绵阳】绵阳市事业单位公开招聘工作人员医学公共基础笔试和复习大纲.docx
- 2022年材料员-通用基础(材料员)考试内容及考试题库含答案参考62.docx
- 2022年材料员-通用基础(材料员)复审考试及考试题库及答案参考31.docx
- 2022年材料员-通用基础(材料员)复审考试及考试题库及答案参考30.docx
- 物业企业第二个五年战略发展规划方案必威体育精装版通用酷炫动态借鉴版.pptx
- 港口企业信息化建设总体规划方案设计.pdf
- 制造型企业生产ERP规划方案设计浅析.pdf
- 2024精简护肤洁面趋势报告-TMIC-30正式版.doc
- 2024捕捉华夏民族珍味-咸味主食与咸味零食创新机遇报告-25正式版.doc
- 2024年秋季部编版小学道德与法治二年级上册全册课件PPT必威体育精装版.pptx
- 部编版第十一册第四单元拓展提高教学课件.ppt
- 2024年秋季新西师大版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋新人教版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋季新人教版数学一年级上册全册教学课件(新版教材).pptx
- 2024年秋季新人教版数学一年级上册全册课件(新版教材).pptx
- 2024年秋季新人教版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋季新人教版一年级上册数学全册课件(新版教材).pptx
最近下载
- NB_T 47016-2023 承压设备产品焊接试件的力学性能.pdf
- 体外膜肺氧合(ECMO)规范化管理.pdf VIP
- 2023年唐山市中医医院护士招聘考试历年高频考点试题含答案解析.docx VIP
- 2023年CSP-S组(提高组)初赛真题(文末附答案).pdf
- 人教版(2024年新教材)九年级上册化学:第二单元2.1《我们周围的空气》教案教学设计.docx
- 2024年专技公需课测试题库合并.docx VIP
- 生命教育主题ppt课件(图文).pptx
- 初步设计评审收费标准.pdf VIP
- 上海市嘉定区嘉定二中2024年物理高二第一学期期末综合测试试题含解析.doc
- 机械加工工艺编程与实施课件-任务3.2-轴承套工艺编制与实施.ppt VIP
文档评论(0)