SailingEase WinForm 开发框架

概述

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

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

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

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

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

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

         主要包括以下内容:

         插件式开发平台    

         丰富的控件    

         丰富的组件

     详询QQ:279060597

 

插件式平台

         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%以上的开发周期,极好的节约您的项目成本 ,而框架本身良好的设计实现,亦能够大大提升或加强您项目的健壮性。

         未完待续,敬请期待……

         Email:cao.silhouette@gmail.com

         QQ:279060597

 http://www.cnblogs.com/shengc/archive/2012/05/10/2494076.html

原文地址:https://www.cnblogs.com/Leo_wl/p/2494924.html