在之前版本的代码生成工具Database2Sharp中,由于代码生成都是考虑Winform和Web通用的目的,因此Winform界面或者Web界面都是单独生成的,在工具中生成相应的界面后,复制到项目里面去使用即可。由于我们Winform的界面是模块化的方式独立开发,因此对某些表来说,我们可以独立开发模块,那么它的Winform窗体界面也应该是在独立的项目上,开发完毕后,我们在主体框架里面通过菜单动态配置即可加入到系统中使用的。

1、框架插件化回顾

在Winform开发框架的程序中,实现基于插件化的应用,如下所示。

通过在权限系统中的预先的配置,独立模块的窗体可以进行动态加载解析,就能实现插件模块的热插拔功能了。实际插件化框架的菜单配置界面效果如下所示。

下图是菜单管理里面的 “Winform窗体类型” 信息的具体内容。

通过动态的配置,可以实现模块的独立开发,动态整合的插件化特性,非常适合我们企业的分工开发,从而提高开发效率。

2、快速生成Winform框架的界面项目

前面我们介绍了,通过模块化的独立来发,动态整合,可以提高开发效率。

其实就是我们对大型项目的横向切割,把大型项目分为各个独立的模块,给不同的开发人员或者团队进行开发,可以极大提高效率,也减少对某个人的过度依赖,也同时可以极大提高开发效率。

在实际使用中,一些客户就提出其实模块化的Winform界面项目可以使用代码生成工具一键生成,和其他模块一样,选定数据库后生成项目一并生成,这样可以更加人性化,减少创建空白界面项目,然后引入所需DLL和文件引用等操作0所花费的时间。

如一般我们创建一个基于DevExpress的空白项目过程是这样的。

先准备创建一个基于DevExpress的模板项目

接着就是选择一个空白的DevExpress项目,这样可以在创建项目的时候,包含一些基础的DevExpress应用,减少我们后续引用DLL的工作。

然后就可以看到生成空白的窗体项目如下所示。

这样离我们开发独立的模块界面项目,还是有很多工作要做,如还需要引入额外的DevExpress所需的DLL,引入框架支持的相关DLL,另外还有一些业务逻辑层和数据访问层等类文件需要包含进去(这么做是减少文件太多的依赖,一个UIDx程序集或者ClientDx程序集就可以了)。

如果我们能够在生成其他项目工程的时候,一并生成该模块的UI项目就可以减少这部分的时间花费,要知道我们开发人员的时间也是很宝贵的,只应该花在有意义,有深度的地方。

如对于普通的Winform界面项目,我们生成后的项目结构视图如下所示。

而对于混合框架方案的项目,我们生成的界面项目结构视图如下所示。

这样就是我们最终要做的视图,一键就可以快速生成了,包含了相关的DLL应用,也包含了一些所需的文件应用,省却了很多繁琐的处理过程。

下面我们可以回顾下两种不同框架的架构分层图示。

普通Winform框架的分层架构图。

我们在Winform开发框架、混合式开发框架、Web开发框架等各种开发框架,底层都是支持多种数据库的,如MS SQLServer、Oracle、MySQL、SQLite、PostgreSQL等等,如下图所示。

混合框架的多种方式支持

混合框架的分层架构图

代码生成工具更新--快速生成Winform框架的界面项目相关推荐

  1. Database2Sharp重要更新之生成Winform框架界面代码

    Database2Sharp是一款代码生成工具和数据库文档生成工具,该工具一直伴随着我及我的粉丝们经历过各种各样的项目开发,在实际开发中能带来效率的提高及编程的快乐.不过自上个6.0版本以来,我一直忙 ...

  2. 10个可视化 CSS 工具, 快速生成 CSS 片段

    作者: Jatin Sharma 译者:前端小智 来源:dev 有梦想,有干货,微信搜索 [大迁世界] 关注这个在凌晨还在刷碗的刷碗智. 本文 GitHub https://github.com/qq ...

  3. 推荐九个数据可视化工具,快速生成可视化信息

    现在我们对可视化信息的需求越来越高,可视化信息比传统的文本信息更吸引眼球,方便阅读,加深记忆,因此也可以更快地被人们传播出去.近年来涌现出了许多数据可视化工具.有哪些值得使用呢?下面与大家分享九大数据 ...

  4. 开发必备工具,快速生成接口文档、调用示例、mock配置

    前言 开发中,接口文档很重要,特别是现在web开发都开始前后端分离了,更加需要一个好的接口文档. 那要怎么快速的出接口文档.调用示例.mock呢?如果太麻烦,很多人就不愿意去写了. 今天给大家介绍一个 ...

  5. CSS_10个可视化 CSS 工具,快速生成 CSS代码

    1. Neumorphism https://neumorphism.io/#e0e0e0 这个网站为 section 或 div 生成对应UI,它也可以自定义border-radius, box-s ...

  6. 【Selenium+Pytest+allure报告生成自动化测试框架】附带项目源码和项目部署文档

    目录 前言 [文章末尾给大家留下了大量的福利] 测试框架简介 首先管理时间 添加配置文件 conf.py config.ini 读取配置文件 记录操作日志 简单理解POM模型 简单学习元素定位 管理页 ...

  7. Python 快速生成 web 动态展示机器学习项目!

    来源丨网络 作者丨wedo实验君 1. Streamlit 一句话,Streamlit是一个可以用python编写web app的库,可以方便的动态展示你的机器学习的项目. 优点 你不需要懂html, ...

  8. 怎么在MyEclipse中快速配置spring框架-非web项目

    http://jingyan.baidu.com/article/2a138328a9b186074a134f2f.html 转载于:https://www.cnblogs.com/figofifa/ ...

  9. 代码生成工具之界面快速生成

    界面开发,无论对于Web开发,还是Winform开发,都需要耗费一定的时间,特别对于一个数据库字段比较多的界面,一般就需要在编辑界面上摆的更多的控件来做数据显示,每次碰到这个,都有点头痛,反复的机械操 ...

最新文章

  1. ios 状态栏高度 底部tabbar高度
  2. 自学python后能干什么-学Python后能干什么 郑州Python就业怎么样
  3. 编译器错误 CS1026
  4. 谷歌逐步取消对IE6的支持
  5. 面试题58 - II. 左旋转字符串
  6. VScode配置CMD本地运行环境(2.0)
  7. 基于visual Studio2013解决C语言竞赛题之1026判断排序
  8. ubuntu服务器修改保存文件,Ubuntu Server 如何永久保存iptables的设置?
  9. CocoaPods升级安装三方库报错
  10. 记常见的计算机术语(不停更新)
  11. hublider配置php环境(wamp、phpstudy,php工具箱...)
  12. PMP每日一练 | 考试不迷路-5.13
  13. java实现断点续播_javaweb 播放视频通过断点续传拖动滚动条
  14. 六家共享单车加入免押计划 押金模式即将崩盘?
  15. c语言是汇编语言实现的吗,使用汇编语言实现逻辑表达式
  16. Vuforia⭐️Unity实现对手机陀螺仪的调用
  17. main函数中的argc和argv是什么意思?
  18. H5新增表单元素、控件
  19. vue路由传参到底有几种方式
  20. QT的Listwidget控件

热门文章

  1. 华科计算机网络报告,华科-计算机网络实验报告-Java Socket编程-网络组建实验
  2. 微型计算机三总线是指,微机原理复习题(完整参考答案版)
  3. c语言程序设计基础项目教程,C语言程序设计基础项目教程
  4. redis10--主从模式
  5. java中的内存一般分成几部分?
  6. JS 防止表单重复提交
  7. 分页查询的SQL语句
  8. js操作select标签
  9. hadoop单机环境搭建
  10. PyQt5笔记(04) -- 文本框的使用