# MyRapid_1 **Repository Path**: yzflysnow/MyRapid_1 ## Basic Information - **Project Name**: MyRapid_1 - **Description**: MyRapid WinForm快速开发框架,使用Sql脚本实现零代码配置开发 - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: http://myrapid.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-12-27 - **Last Updated**: 2023-12-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### MyRapid WinForm快速开发框架 一个插件式快速开发框架 - 默认账号:admin 密码:pass123! - QQ交流群:285266980 - 帮助文档:[https://gitee.com/dvmu/MyRapid/wikis](https://gitee.com/dvmu/MyRapid/wikis) ### MyRapid 原理 - 整体框架主要面向的是表格,比如销售订单在系统里面会抽象为主表子表,在用户操作的时候也是直接填写两张表格 - 框架用的是ADO.NET,保存使用的是ADO的Update命令 - 控件是根据页面编辑中的配置自动生成出来的,所以可以根据权限来决定某个控件是否需要生成 - WCF服务端只有5个方法,登录、读取、保存、执行、上传、下载,业务逻辑都是通过客户端代码 和 Sql 实现的 - 表格的增删改查代码都存放在WorkSet里面,调用时用存储过程根据WorkSet的Id或Name取得增删改查代码 - 页面所有的public的方法都会反射到页面编辑的Tool里面,可以根据需要决定是否显示 - 弹窗也是自动生成出来的,根据WorkSet取得数据源,根据弹窗配置取得返回值 - 报表在框架的系统报表界面进行配置,然后到页面编辑-Tool-Print里面设置参数即可打印调用 ### MyRapid 框架介绍 - 开发历程:作者是数据库相关软件开发从业人员,懒惰的,能交给电脑做的事情懒得自己做 - 开发目的:处理底层数据传输,减少工作量,提高开发效率 - 框架特点:数据库相关开发、易学易用、快速上手、提高效率、高度开放、多国语言、多种皮肤 - 框架功能:表单生成、图表生成 - 表单生成:自动生成页面,具备基础增删改查功能(多表) - 数据库:支持SqlServer + 任意数据库(必须有一个SqlServer) - WCF:全新的架构,安全性得到了很好的保证 - 日志系统:WCF消息拦截记录日志 - 树状目录:树状无限级目录 - 权限控制:权限控制到页面特定按钮以及特定字段 - 图标库:更大的图标库,支持扩容 - 数据验证:全局控件数据验证,保证数据正确性 ![页面加载](https://images.gitee.com/uploads/images/2020/1125/130755_037d0f02_299806.png "屏幕截图.png") ![用户信息](https://images.gitee.com/uploads/images/2020/1023/090031_0e48393d_299806.png "用户信息.png") ![权限控制](https://images.gitee.com/uploads/images/2020/1023/090044_80989ac9_299806.png "权限控制.png") ### MyRapid 优缺点 #### 优点 开发效率显著提升,项目开发周期大幅缩短
易于维护,后期维护工作量也能得到大幅改善
门槛较低,框架实现了一定程度的零代码开发,非开发人员,或初级开发人员也能够很好地维护系统
#### 缺点 目前发现最大的缺点是性能
框架为了追求速度,确实牺牲了一部分性能
说下原理
传统开发:直接代码中编写Sql语句,执行Sql语句获取数据
框架开发:编写Sql语句存放到数据库,获取数据时先从数据库中抓取Sql语句,然后再执行Sql语句获取数据
可以看出框架开发比传统开发多了一次从数据库读取Sql语句的过程,所以性能上是要有点折扣的
这点折扣我认为是可以接受的,在可接受范围内
虽然是两次读取数据库,但是都是发生在服务端,没有数据传输的损耗
且,读取Sql语句这个动作本身用户是无感知的,只有几毫秒的时间浪费
还有框架使用了DevExpress,众所周知,功能强大,但是慢,这里也是一个性能瓶颈
对于性能要求较高的应用场景,目前我的解决方案是
单独编写功能,减少性能瓶颈,保证高效性能,常规的对性能要求不是太高的场景则用框架配置开发
就算是对性能要求极高的项目也不会要求每个窗体都保持极高性能
这样可以做一个相互间的妥协
#### 补充 关于部分用户询问
是否稳定?
是否安全?
这里我来回答一下,这两个其实是同一个问题导致的
软件不稳定,出现Bug其实都是开发前期设计不够周密,开发后期测试不到详细
包括安全也是,细心,开发中全面考虑才能保证软件安全,稳定
而框架本身只是一个辅助工具,辅助开发人员完成基础的开发,并不涉及是否安全,稳定,这些是开发人员开发中需要考虑的问题
作为框架需要做的就是这些基础的辅助功能稳定
框架使用SqlServer作为数据库,WCF作为传输层,DevExpress作为UI层
SqlServer是否安全稳定?WCF是否安全稳定?DevExpress是否安全稳定?
答案显然易见的,喜欢抬杠的朋友我没招了,出门左转Linux欢迎你