在我们实际业务开发中,从头开发一个应用系统,不管是基于BS的前端项目,还是基于Winform的CS应用系统,都是由容易到复杂,逐步演化的一个开发过程,如果我们基于一定基础上,并配合一些配套的开发工具,那么这个应用系统的开发就会变得容易很多,毕竟现在每一个应用系统都是要求要五脏俱全的系统,不仅要长得漂亮,还要有内涵。对于一个基于CS模式的Winform应用系统,开发起来相对比较容易一些,依赖的东西的边界比较清晰一些,因此大多数可以使用独立、模块化的方式来开发系统。

1、Winform的应用系统的模块化场景

我们开发一个系统的时候,往往需要对各种资源进行各种处理,如硬件API接口(摄像头、读卡器、采集器等)、数据库访问(SQLServer、Oracle、Mysql、SQLite、PostgreSQL、MongoDB)、文件读写支持(XML、JSON、文本文件、图片等)、缓存处理(MemoCache、Redis等),以及第三方的一些接口支持(如微信支付、支付宝、抖音等),当然还有自己业务内部的接口支持,涉及的范围很大也很广,不过我们一般来说,一个系统的主要业务还是对数据库的存取进行处理,因此诞生了很多基于数据库业务的基础模块,如基于通用字典读取和设置的字典模块、权限管理模块等,这些应用模块,基本上是各个业务系统都需用到的,不同的系统,他们的规则和显示方式可能有所差异。

如下是一个基础Winform框架支持的一些模块图示。

如通用字典管理着整个系统的各种下拉列表或者参考信息。

权限管理模块则定义好整个组织机构、用户、角色、权限分配、菜单资源定义、字段权限、数据权限、黑白名单等配置信息。

权限模块中,是相对复杂一点的模块,其中还需要管理各级组织机构的信息。

权限管理系统模块,可以单独调用登陆后进行展示,也可以通过界面整合的方式,无缝的整合到应用系统中去,作为一个整体应用对待使用。

而工作流模块则管理着日常流程表单的处理。

业务模块则是基于我们某个业务范畴开发的一个独立模块,可能应用到了很多通用的模块,这个也是模块化的精髓。

如下是整合以上一些基础模块的CRM客户关系管理系统的内容,也可以简单的把CRM当成一个复杂一点的业务应用模块。

模块化类似小孩子搭积木的方式构建一个所要的形状,虽然软件和建筑在这方面肯定更加复杂化,但是模块化系统是大势所趋,也是简化开发、易于维护、提高系统健壮性的重要举措。

随着应用模块的不断开发,有一个好的组织架构,纵向统一管理模块中各个局部分层,会更加方便,因此引入了一个框架的设计模式,以便更好统一各个分层的管理。

Winform开发架构如下所示。

一般框架都支持常见的关系型数据库,并提供他们对应的支持切换。

另外,一方面,我们可以收集WInform开发中常常涉及到的界面控件使用,类库使用,常规组件使用等一系列的代码片段、难点疑点进行整合管理,整理一个综合的案例提供各种各样的开发测试案例代码,用来辅助开发学习了解。

以及一些杂项的内容收集。

力求在各个方面能够快速辅助系统的开发。

2、Winform的应用系统的开发

在我们实际不断的迭代开发中,往往会不断的累积出各个完善的应用模块出来,不过这个过程开发,可以基于我们的配套开发工具进行快速的开发,由于各个模块是基于相同的架构分层,以及对整套系统的一个固定的开发模式,我们可以采用代码生成工具来根据数据库信息,生成对应分层的项目代码,并把它们之间的关系处理好,生成一个完整的解决方案,生成即可编译通过的完善项目模块。

对于Winform界面来说,有时候,我们需要精细化的定义各种界面部分的内容,因此工具提供配置进行定义,然后再生成。

如在代码生成工具里面,设置主从表的界面生成如下所示。

有了系统框架的通用基础模块支持,以及基于固定架构的代码生成工具辅助开发,事半功倍,而且开发的系统模块更加统一和稳定,并且内置的支持多种数据库的接入, 基本上能够覆盖大多数应用系统的需要。

如何快速开发基于Winform的应用系统的更多相关文章

  1. SNF快速开发平台3.0之--系统里广播的作用--迅速及时、简明扼要的把信息发送给接收者

    广播信息,即速度快捷.迅速及时.简明扼要的把信息发送给接收者. 当然在SNF快速开发平台上你也可以作为公告使用.不管当做什么使用要满足以下需求: 简单操作:页面操作简单 只需要输入内容就可以发送. 灵 ...

  2. {VS2010C#}{WinForm}{ActiveX}VS2010C#开发基于WinForm的ActiveX控件

    在VS2010中使用C#开发基于WinForm的ActiveX控件 常见的一些ActiveX大部分是使用VB.Delphi.C++开发,使用C#开发ActiveX要解决下面三个问题: 使.NET组件可 ...

  3. 四、利用EnterpriseFrameWork快速开发基于WCF为中间件的三层结构系统

    回<[开源]EnterpriseFrameWork框架系列文章索引> EnterpriseFrameWork框架实例源代码下载: 实例下载 本章内容与上一张<利用Enterprise ...

  4. 分享一个全开源的ASP.NET快速开发平台,能快速开发OA CRM ERP 等系统

    bingo炸了 2017/3/30 16:28:14 阅读(870) 评论(0) 公司业务量比较大,接了很多项目,为了缩短开发周期老板让我牵头搭建了一个快速开发平台. 我们主要的业务是做OA.CRM. ...

  5. 五、利用EnterpriseFrameWork快速开发基于WebServices的接口

    回<[开源]EnterpriseFrameWork框架系列文章索引> EnterpriseFrameWork框架实例源代码下载: 实例下载 前面几章已完成EnterpriseFrameWo ...

  6. 快速开发基于 HTML5 网络拓扑图应用

    采用 HT 开发网络拓扑图非常容易,例如<入门手册>的第一个小例子麻雀虽小五脏俱全:http://www.hightopo.com/guide/guide/core/beginners/e ...

  7. 快速开发基于 HTML5 网络拓扑图应用--入门篇(一)

    计算机网络的拓扑结构是引用拓扑学中研究与大小,形状无关的点.线关系的方法.把网络中的计算机和通信设备抽象为一个点,把传输介质抽象为一条线,由点和线组成的几何图形就是计算机网络的拓扑结构.网络的拓扑结构 ...

  8. SSM整合开发——基于SSM的OA系统

    一.课程介绍 链接: https://pan.baidu.com/s/18B-lWfOUnKZPvuVEHY_NmQ 提取码: ky7t 复制这段内容后打开百度网盘手机App,操作更方便哦 需要 to ...

  9. 快速开发基于 HTML5 网络拓扑图应用1

    今天开始我们就从最基础解析如何构建 HTML5 Canvas 拓扑图应用,HT 内部封装了一个拓扑图形组件 ht.graph.GraphView(以下简称 GraphView)是 HT 框架中 2D ...

随机推荐

  1. ESXI 7.0.0 U2 部署

    文章目录 什么是ESXI? ESXi 的优势 功能特性 部署ESXI 创建虚拟机 开始安装 打开浏览器输入ip进行管理 什么是ESXI? ESXI官网:https://www.vmware.com/c ...

  2. Spring Bean配置加载为BeanDefinition全过程(注解配置)

    生产中有很多形式的的配置方式,本文仅分析注解配置.对于其他形式的配置区别主观以为主要在配置文件的解析过程不同,不一一分析了.本文以利用Dubbo框架开发rpc服务端为例详细阐述配置类的解析.数据保存. ...

  3. netty系列之:channelPipeline详解

    目录 简介 ChannelPipeline 事件传递 DefaultChannelPipeline 总结 简介 我们在介绍channel的时候提到过,几乎channel中所有的实现都是通过channe ...

  4. Spring源码之BeanFactoryPostProcessor(后置处理器)

    Spring源码之BeanFactoryPostProcessor(后置处理器). 有点水平的Spring开发人员想必都知道BeanFactoryPostProcessor也就是常说的后置管理器,这是 ...

  5. 2022李宏毅作业hw1—新冠阳性人员数量预测。

    ​ 事前  : kaggle地址:ML2021Spring-hw1 | Kaggle 我的git地址: https://github.com/xiaolilaoli/lihongyi2022homew ...

  6. Java笔记——循环语句

    Java笔记--循环语句     1. while语句 规律: 1. 首先计算表达式的值. 2. 若表达式为真,则执行循环语法,直至表达式为假,循环结束.   while(表达式) 语句; 例如: i ...

  7. 聊聊你对AQS的理解

    场景引入 面试官上来就一句,谈谈你对AQS的理解,大家心里可能收到了1W点伤害,AQS是什么,可能连全称都不知道,所以下面让我们聊聊AQS. 以ReentrantLock来介绍一下AQS 在java中 ...

  8. 网络类型PAN、LAN、WLAN、CAN、MAN、WAN简单介绍

    转至:https://www.cnblogs.com/itmacy/p/12290036.html PAN:personal area network 个人区域网络 无线连接:蓝牙,红外,NFC 有线 ...

  9. Java基础--序列化和反序列化

    作用:在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存.比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Sessi ...

  10. Android studio常用快捷键导包的设置

    下面是一些快捷键的使用还有快速导包的设置 1. Ctrl+G 同时按下Ctrl+G快捷键弹出快速定位框,在框中输入行数点击OK即可快速切换到对应的行数,如图2.17所示. 2. Ctrl+E 同时按下 ...