11 Star 68 Fork 27

陈恩点 / MyRapid

Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

MyRapid WinForm快速开发框架

一个插件式快速开发框架

MyRapid 原理

  • 整体框架主要面向的是表格,比如销售订单在系统里面会抽象为主表子表,在用户操作的时候也是直接填写两张表格
  • 框架用的是ADO.NET,保存使用的是ADO的Update命令
  • 控件是根据页面编辑中的配置自动生成出来的,所以可以根据权限来决定某个控件是否需要生成
  • WCF服务端只有5个方法,登录、读取、保存、执行、上传、下载,业务逻辑都是通过客户端代码 和 Sql 实现的
  • 表格的增删改查代码都存放在WorkSet里面,调用时用存储过程根据WorkSet的Id或Name取得增删改查代码
  • 页面所有的public的方法都会反射到页面编辑的Tool里面,可以根据需要决定是否显示
  • 弹窗也是自动生成出来的,根据WorkSet取得数据源,根据弹窗配置取得返回值
  • 报表在框架的系统报表界面进行配置,然后到页面编辑-Tool-Print里面设置参数即可打印调用

MyRapid 框架介绍

  • 开发历程:作者是数据库相关软件开发从业人员,懒惰的,能交给电脑做的事情懒得自己做
  • 开发目的:处理底层数据传输,减少工作量,提高开发效率
  • 框架特点:数据库相关开发、易学易用、快速上手、提高效率、高度开放、多国语言、多种皮肤
  • 框架功能:表单生成、图表生成
  • 表单生成:自动生成页面,具备基础增删改查功能(多表)
  • 数据库:支持SqlServer + 任意数据库(必须有一个SqlServer)
  • WCF:全新的架构,安全性得到了很好的保证
  • 日志系统:WCF消息拦截记录日志
  • 树状目录:树状无限级目录
  • 权限控制:权限控制到页面特定按钮以及特定字段
  • 图标库:更大的图标库,支持扩容
  • 数据验证:全局控件数据验证,保证数据正确性

页面加载

用户信息

权限控制

MyRapid 优缺点

优点

开发效率显著提升,项目开发周期大幅缩短
易于维护,后期维护工作量也能得到大幅改善
门槛较低,框架实现了一定程度的零代码开发,非开发人员,或初级开发人员也能够很好地维护系统

缺点

目前发现最大的缺点是性能
框架为了追求速度,确实牺牲了一部分性能
说下原理
传统开发:直接代码中编写Sql语句,执行Sql语句获取数据
框架开发:编写Sql语句存放到数据库,获取数据时先从数据库中抓取Sql语句,然后再执行Sql语句获取数据
可以看出框架开发比传统开发多了一次从数据库读取Sql语句的过程,所以性能上是要有点折扣的

这点折扣我认为是可以接受的,在可接受范围内
虽然是两次读取数据库,但是都是发生在服务端,没有数据传输的损耗
且,读取Sql语句这个动作本身用户是无感知的,只有几毫秒的时间浪费

还有框架使用了DevExpress,众所周知,功能强大,但是慢,这里也是一个性能瓶颈

对于性能要求较高的应用场景,目前我的解决方案是
单独编写功能,减少性能瓶颈,保证高效性能,常规的对性能要求不是太高的场景则用框架配置开发

就算是对性能要求极高的项目也不会要求每个窗体都保持极高性能
这样可以做一个相互间的妥协

补充

关于部分用户询问
是否稳定?
是否安全?
这里我来回答一下,这两个其实是同一个问题导致的
软件不稳定,出现Bug其实都是开发前期设计不够周密,开发后期测试不到详细
包括安全也是,细心,开发中全面考虑才能保证软件安全,稳定

而框架本身只是一个辅助工具,辅助开发人员完成基础的开发,并不涉及是否安全,稳定,这些是开发人员开发中需要考虑的问题
作为框架需要做的就是这些基础的辅助功能稳定
框架使用SqlServer作为数据库,WCF作为传输层,DevExpress作为UI层
SqlServer是否安全稳定?WCF是否安全稳定?DevExpress是否安全稳定?
答案显然易见的,喜欢抬杠的朋友我没招了,出门左转Linux欢迎你

Comments ( 2 )

Sign in for post a comment

About

MyRapid WinForm快速开发框架,使用Sql脚本实现零代码配置开发 spread retract
C#
Apache-2.0
Cancel

Releases

No release

Gitee Metrics

Contributors

All

Activities

load more
can not load any more
C#
1
https://gitee.com/dvmu/MyRapid.git
git@gitee.com:dvmu/MyRapid.git
dvmu
MyRapid
MyRapid
master

Search