代码改变世界

SailingEase WinForm 应用程序开发框架

2012-05-10 00:48  pptp998666  阅读(4206)  评论(4编辑  收藏  举报

 

SailingEase WinForm Framework WinForm开发框架开发手册:http://docs.shengxunwei.com/Home/Browser/sewinformfw/

 

 

 

 

概述

         SailingEase WinForm 应用程序开发框架是针对微软 .NET 平台下 Windows 应用程序的开发所精心设计实现的源代码级开发平台。由原江苏电信10000号开发团队技术经理主导开发的WinForm开发框架。本框架来源于实际项目开发,又不断应用在新的项目中,这种递归式的开发不但使框架的功能性完整性贴合项目所需,也不断推动框架的完善。

 

下面是两个基于 SailingEase WinForm 应用程序框架开发的项目截图:

         这是一个用于.NET应用程序国际化的多语言处理工具,使用SailingEase框架为该项目的开发周期缩短百分之七十以上。事实上我们只编写了用于处理多国语言的核心类库,其它所有功能皆来自SailingEase 框架。

 

         这是一个用于复杂表单设计的应用程序,该项目业务逻辑复杂,功能点众多,但是在 SailingEase 框架的支撑下,项目结构有序清晰,开发进度快,问题少,逻辑统一。基于 SailingEase 框架提供的插件式开发功能,模块内聚性强,偶合性低。

 

SailingEase WinForm框架主要包括哪些功能

         SailingEase 并非一个简单的 WinForm 控件包,而是一个能够贯穿整个项目周期的,完全的插件式 Winform 应用程序开发平台,所有源代码完整提供,并包括相当清晰的注释说明。

         主要包括以下内容:

         插件式开发平台    

         丰富的控件    

         丰富的组件

 

插件式平台

         SailingEase WinForm框架的核心功能之一就是支持模块化应用程序开发(Modular Application Development),并且在运行时对各个模块进行动态管理。帮助开发人员构建松散耦合的、更灵活、更易于维护并且更易于测试的WinForm应用程序。使用SailingEase WinForm框架可以使程序开发更趋于模块化,整个项目将由多个离散的、松耦合的模块组成,而各个模块又可以又不同的开发者或团队进行开发、测试和部署。

一个基于 SailingEase WinForm框架的项目的结构:

         Modules 目录下为该项目中的模块,模块指是一些逻辑上相关的类或者资源文件的集合。而每一个Module都会进行其自身的初始化工作以及与系统进行集成,比如向容器中注册一些Service,或者将视图集成到程序中等等。

         Shell 是应用程序的主体,用于承载应用程序中的模块,以及提供一些应用程序的基本功能。

         这是上文中提到的用于设计复杂表单的应用程序的Shell项目,可以看到其包含的内容并不多,因为所有的业务逻辑,程序功能都按模块划分并单独实现在Module中,在程序启动时才会动态加载。

         我们在江苏电信某大型项目的开发中,即使用了与SailingEase WinForm框架中类似的衍生技术。

         SailingEase WinForm框架中插件平台的实现,技术成熟可靠,适用性强,使用SailingEase WinForm框架实现插件式WinForm应用程序,可靠性、扩展性优异,开发难度低,几乎可以直接在我们提供的DEMO上立即开始业务功能的开发。

 

丰富的控件包

         WinForm控件开发一直是基于.NET Windows应用程序开发的难点之一,开发人员水平的参差不齐,Web的流行,使企业或开发团队想找到精于WinForm控件开发的人才非常困难,我们的团队在人才招募时,精通GDI+的.NET开发人员很难遇到。而我们的SailingEase WinForm开发框架为您提供了最常用也最实用的控件包: 如 DataGridView美化,ComboBox 美化以及专门开发的用于复杂情况的 ComboBox,用于图像缩略图浏览的ImageView。

 

         在此向您简要介绍几种具有代表性的控件效果和我们实现方法的简要说明

         DataGridView

         我们为微软原生 DataGridView 提供了美化和搜索/替换等功能。

         经美化后的DataGridView使您的应用程序具有相当专业水平的视觉效果。此外,我们提供了单元格搜索替换,背景水印文本,带有禁用效果的CheckBox列,以及通过对象类型或属性值映射从而显示不同图像的Image列。

         部分源代码结构如下:

         如何根据项目需要调整DataGridView的视觉效果?通过DataGridViewRendererTheme类:

         通过独立的渲染机制,如何定制您自己的DataGridView视觉效果相信您已一目了然。

         如何为DataGridView 实现搜索/提换功能?如果您想将此功能集成到现有项目中是否需要大幅度更改现有代码?并不需要,您只需要在您现有的使用 DataGridView的代码中添加一行代码:

         DataGridViewSearchPresenter searchPresenter =  new DataGridViewSearchPresenter(dataGridView);

         即可调用 DataGridViewSearchPresenter 中提供的公开方法来实现各种对单元格的搜索替换功能。像这样在面像对象编程中使用对象复合的方式来提供功能的例子在我们的框架中有许多。

 

         ComboBox

         我们除了提供微软原生ComboBox的加强版本之外,完全重新实现了一个更加美观功能更强的ComboBox。

         我们提供的ComboBox除了具有效好的视觉效果,对于开发人员来讲,具有极高的扩展性。定制外观的方式与上文中提到的DataGridView外观定制方法类似,这里主要讲如何扩展ComboBox。首先看一看源代码结构图:

         从源代码结构中可以看出我们的 ComboBox 是一个复合控件,点击 ComboBox 时所呈现的列表,使用的是 SEListView来实现的。通过 SEComboSelectorTheme类,您可以定制个性化的视觉效果,而通过 SEListView 提供的 Layout 功能,您可以实现任意效果的下拉列表。这个任意效果的 Layout 实现,到底可以实现什么,我们不妨看一看用于呈现图像的ImageView控件。

         ImageView 控件本身就是一个 SEListView,但我们为其实现了专门用于呈现图像的 Layout,在这个复杂的Layout实现中,我们定义了列表项的呈现方式,提供了框选,单选,反选和键盘操作功能。如果您希望在ComboBox 展开时呈现图像缩略图供用户选择,应用这个 Layout 即可。

         使用SEListView 的Layout功能和 Theme功能,几乎可以实现任意效果和功能的列表。

 

         ExtendedWebBrowser

         即使是Windows应用程序,也许某些情况下也不可避免与Web页面产生交互。

         此处点击 Web 页面中的 “Open Project” 或 “New Project” ,会调用WinForm应用程序中对应的功能。

         将Web页面集成到您的项目中,除了业务逻辑与其它Web项目可能产生的交互外,使用Web页面来替代一些Windows界面,不仅美观,其设计实现的难度比使用GDI+的WinForm 控件要大大降低,您只需要美工设计传统网页即可。

 

         AddressBar

         使用类似Windows7的地址栏为您的应用程序做导航,不但结构清晰,功能性强,同时也获得了专业级别的导航效果。

 

         其它典型WinForm控件:

专业标题栏效果

 

菜单,上下文菜单美化

 

命令行效果

 

向导框架

 

         以上列出了部分具有代表性的部分WinForm控件,尚有部分外观改动较小只是功能性增强的控件没有列出,我们的控件都经过专业的设计和细致的实现,相信您能够从我们上文中的源代码结构和介绍中有所了解,使用 SailingEase WinForm 框架提供的控件,能够大大提高您的应用程序开发效率和专业化水平,使您的项目团队在开发WinForm应用时轻松自如。

 

丰富的组件包

         SailingEase WinForm 开发框架提供了大量的功能组件,这些组件可能多数没有直接反应在项目的用户界面上,但却是框架中的重要组成部分,如:基于HTTP的应用程序自动升级更新,AES,DES,MD5加密算法封装,为提高反射性能的高速缓存,对象属性值快照/还原功能,Attribute相关功能,对类型(Type)功能的加强,XML、ZIP流/文件包的处理,正则表达式相关功能,TCP通信的封装实现等等。

         部分源代码结构:

 

         SailingEase WinForm 框架中所有的组件皆是在多年的项目实践中提炼完善而来,能够解决很多WinForm应用程序开发中遇到的问题,能够提高您的项目开发效率,缩短50%以上的开发周期,极好的节约您的项目成本,而框架本身良好的设计实现,亦能够大大提升或加强您项目的健壮性。

 

总结

         SailingEase WinForm 框架提供完整的源代码,代码风格优秀,带有详细的注释和说明,在使用 SailingEase Winform框架的过程中,我们提供全程指引与技术支持。

         相信不管是小规模的 WinForm 项目,还是由大型团队开发的企业级项目,本框架都能大大节约您的开发成本,缩短您的开发周期,使您的项目开发工作如履平地。

 

 


     另请参阅:

        SailingEase WinForm 开发框架

        使用 SailingEase WinForm 框架构建复合式应用程序(插件式应用程序)

          DEMO下载

 

         未完待续,敬请期待……

 

         Email:cao.silhouette@gmail.com

         QQ:279060597

 

招客宝在线客服系统

Windows开发框架,WinForm开发框架,.NET开发框架