注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

开源WPF框架:WAF和Caliburn简介  

2016-07-19 09:04:47|  分类: WPF |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
WPF应用程序框架WAF)和Caliburn是两种开源框架,它们基于模型-视图-视图模型(MVVM)模式,使用分层的架构,为开发者提供了编写WPF和Silverlight应用程序的基础。

WAF使用了模型-视图-视图模型(MVVM)模式,这与Martin Fowler定义的PresentationModel非常类似。WAF使用了这种模式,我们可以使用下面的UML图来对其进行描述:

开源WPF框架:WAF和Caliburn简介_28054

View – 这个类中包含了所有GUI工具,但不包括状态和行为。

IView – 针对View类的接口

ViewModel – 其中包含了GUI小工具的状态和行为。之所以将那些元素保存与此,是为了避免将应用程序的代码放在GUI界面程序中,从而我们可以很容易地把应用程序迁移到不同的GUI系统中。ViewModel可以通过它的接口与View交互。

Controller – MVVM模式中没有提到控制器,但是WAF中包含了一个,它的职责是指引程序的流向。如果需要的话,ViewModel在变更的时候会通过事件通知Controller。

Model – 底层的领域类。在Model中的改变会通过事件发送给View或者ViewModel。

WAF是按照分层的思想构建的,如下所示:

开源WPF框架:WAF和Caliburn简介_28055

框架中包含了基本的类和接口,我们可以对其进行扩展以适应应用程序。这些类和接口包括Controller、IView、ViewModel、 Model以及大量文件对话框和消息服务类。框架中还带有一些代码示例,包括图书馆、电子邮件客户端以及面向文档的应用程序,另外还带有对单元测试的基本支持。WAF已经由用户jbe2277提交到CodePlex上,该用户没有声明他是谁,但看起来应该是微软的模式与实践中智能客户端团队的开发人员。

Caliburn是另一个开源的WPF和Silverlight框架,它也是围绕MVVM模式构建的。这个项目的站点上提到了以下特性:

      1. 将数据绑定扩展为方法,使得MVVM架构更加简单和直观。
      2. 为MVVM动作添加了前置/后置执行过滤器和修复程序。
      3. 通过对co-routines的强大实现,简化了异步编程。
      4. 提供了支持通用的UI角色——像Screen Activator、Screen Conductor、Screen Collection以及Application Controller——的基础类。
      5. 改善了从配置方法向架构解决方案转变的协议。
      6. 通过为WPF提供强大的数据绑定验证框架支持TDD。
      7. 使WPF和Silverlight架构能够使用相同的API

在很多方式上这个框架与WAF都非常类似,但它更加成熟,并且拥有上百个类和接口。其中还带有Silverlight和WPF示例,像联系人管理器和游戏库。 Caliburn由Blue Spire为其提供支持。
  评论这张
 
阅读(82)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017