DevExpress控件使用交流,DevExpress中国社区Dev联系电话 联系电话:023-68661681

WinForm框架开发教程 - 如何实现Winform应用的解耦开发?

来源:   发布时间:2021-12-31   浏览:1083次

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

点击获取DevExpress最新版

如何实现Winform应用的解耦开发?

随着应用模块的复杂化,独立化,这个解耦的问题就是所有场景开发的共同问题,因此三板斧的操作大多数类似,虽然Winform特点又有所不同。

以数据库应用支持为例,对于不同模块的应用,可能需要同时支持不同数据库,通过配置实现切换不同数据库的调用。

因此在开发模块的时候,我们需要先定义统一的数据库处理接口,然后为不同类型的数据库访问做一个独立的实现处理。

如何实现Winform应用的解耦开发?

 在实际需求中,你往往不能决定客户需要用什么数据库,那么需要根据实际需求或者环境进行数据库类型的选型,如果是单机版为了方便可以使用SQLite,如果是已有业务系统或者需要响应速度快一些的,那么考虑使用SQLServer或者Mysql、有些历史原因的可能会用PostgreSQL或者Oracle等等。那么框架的弹性就需要支持多种数据库的了,这种支持不能导致太大的工作量最好,否则会弄得焦头烂额的。

框架底层数据库访问采用了微软企业库实现,因此在处理多种数据库访问的时候,能够提供统一的访问处理操作,同时对不同的数据库支持操作也是非常不错的。下图是框架底层数据库的支持情况。

如何实现Winform应用的解耦开发?

采用不同的数据库,我们需要为不同数据库的访问层进行生成处理,如为SQLServer数据的表生成相关的数据访问层DALSQL,里面放置各个表对象的内容,不过由于采用了相关的继承类处理和基于数据库的代码生成,需要调整的代码很少。

如何实现Winform应用的解耦开发?

而对于更高一级的应用数据来源,有可能来源于Web API,也有可能来源于数据库,也可能来源于WCF服务等方式的综合处理,那么可以再次利用接口,实现分离的方式,再次将实现解耦,标准的三板斧处理操作即可。

如何实现Winform应用的解耦开发?

混合框架的分层架构图

如何实现Winform应用的解耦开发?

DevExpress | 下载试用

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

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


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

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

DevExpress企业定制服务
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [https://www.devexpresscn.com/]
本文地址:https://www.devexpresscn.com/post/2827.html

相关产品: DevExpress Universal Subscription,

在线
客服
微信
QQ 电话
023-68661681
返回
顶部