欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WinForm框架开发教程 - 如何实现简单化开发? WinFormdevexpressc#.net 

程序员文章站 2022-03-03 17:40:54
...

Winform开发领域开发过十多年的项目中,见证着形形色色的架构和官方技术的应用,从最早类似Winform模式的WebForm技术,到接着的JQuery+界面组件,再到Asp.net Core的技术应用,以及后来的纯前端技术出现,Angular、React、Vue等前端技术和语言的广泛应用,Web应用越来越多,也越来越精细化,从最初的单服务,到单服务+分布式缓存,再到微服务集群的各种服务架构,Web开发的体系越来越庞大和复杂化,虽然引入更多先进技术、更多优秀架构,但同时也意味着更高的技术门槛,以及全栈式的开发需求或要求,Winform开发依旧占领一席之地。本文针对Winform开发的技术特点,针对自己多年的开发经验,对Winform开发的快速、健壮、解耦的一些领域提出几点微薄建议,抛砖引玉,希望大家多加指正。

如何实现Winform开发的简单化开发

由于Winform开发业务的日益复杂化,我们往往需要花费很多精力来做一些基础性的东西,虽然逻辑很简单,但是一些繁琐性的工作却很难避免,那么我们平时进行Winform开发的时候,如何才能实现Winform开发中的简化处理呢?

首先我们通过模块化来切分大项目的复杂度,然后再次进行类继承的方式减少类级别的代码,重用基类特性。

前面我们介绍采用了一些模块化的方式来组装项目,可以简单的理解为积木组合的方式。如权限管理模块、字典管理模块、自动更新模块、人员管理模块、通讯录管理模块、分页控件、公用类库等方面,这些可以在项目中根据情况采用对应的模块,非常高效,整个主体框架也有对应接入这些模块的案例代码供参考,因此可以更加直观明了。

WinForm框架开发教程 - 如何实现简单化开发?
            
    
    
        WinFormdevexpressc#.net 

而另一方面,我们在对类的重用方面,也是精益求精,尽量做到精简重复代码,提高开发效率的目的。

界面类提供封装继承,减少界面的一些繁琐设置。

WinForm框架开发教程 - 如何实现简单化开发?
            
    
    
        WinFormdevexpressc#.net 

界面通过基类的封装处理,我们可以把大多数通用的处理或者逻辑调用顺序进行封装,子类实现一些特殊的函数即可,同时可以统一调用基类的处理操作。

我们以常规业务模块界面来分析,主要有明细查看或编辑界面、列表界面,那么这些界面为了方便使用,我们可以抽象一部分界面处理逻辑或者共有部分内容,放在界面基类BaseEdit或者BaseDock等基类里面,如下界面所示。

WinForm框架开发教程 - 如何实现简单化开发?
            
    
    
        WinFormdevexpressc#.net 

基础业务类,我们同样也是采用重用基类方式,实现接口函数的封装处理。

WinForm框架开发教程 - 如何实现简单化开发?
            
    
    
        WinFormdevexpressc#.net 

以及业务类继承关系,当然还有其他更多的,基本上都提供一些基类来处理,简化代码。

WinForm框架开发教程 - 如何实现简单化开发?
            
    
    
        WinFormdevexpressc#.net 

Web API的控制器设计对象继承关系,如下所示:

WinForm框架开发教程 - 如何实现简单化开发?
            
    
    
        WinFormdevexpressc#.net 

除了这些基础性的代码级别的简化外,我们更高层次的简化,可以通过数据库=》代码生成的方式简化处理,通过数据库信息,我们可以进一步生成我们应用业务的相关类或者界面部分,从而可以快速提高开发效率。

如对于普通的Winform界面项目,利用代码生成工具Database2Sharp,我们生成后的项目结构视图如下所示。

WinForm框架开发教程 - 如何实现简单化开发?
            
    
    
        WinFormdevexpressc#.net 

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

WinForm框架开发教程 - 如何实现简单化开发?
            
    
    
        WinFormdevexpressc#.net 

对于Winform开发,可以根据Winform框架或者混合框架的窗体界面类,生成标准的界面代码,列表界面默认具有分页查询、导入导出、高级查询、编辑、删除事件绑定,编辑界面则具有获取数据并显示在控件,保存后执行更新或者写入的操作。

WinForm框架开发教程 - 如何实现简单化开发?
            
    
    
        WinFormdevexpressc#.net 

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

WinForm框架开发教程 - 如何实现简单化开发?
            
    
    
        WinFormdevexpressc#.net 

生成的标准的主从表界面如下界面所示。

WinForm框架开发教程 - 如何实现简单化开发?
            
    
    
        WinFormdevexpressc#.net 

通过框架项目定制化的代码生成工具,可以快速的生成我们所需要的相关分层的代码,并继承好相关的类关系,以及标准调用代码,可以极大提高我们应用模块的开发速度,而且由于利用通过检验的标准件,开发出来的模块,除了快速外,也是健壮的。

另外们把常规的列表界面,新增、编辑、查看、导入等界面放在一起,除了列表页面,其他内容以弹出层对话框的方式进行处理,如下界面示意所示。

WinForm框架开发教程 - 如何实现简单化开发?
            
    
    
        WinFormdevexpressc#.net 

DevExpress | 下载试用

DevExpress Universal 10月正式发布今年第二个重大版本——v21.2,此版本正式官宣支持Visual Studio 2022 & .NET6,同时与微软最新发布的Windows 11完美兼容,全面解决用户各种使用场景问题。 与时俱进,从未止步!

本文转载自:博客园 - 伍华聪


DevExpress技术交流群5:742234706      欢迎一起进群讨论

更多DevExpress线上公开课、中文教程资讯请上中文网获取