windows phone7---MVVM模式

         注:相关学习资料来自Laurent Bugnion的博客http://www.galasoft.ch/mvvm/ 作者提供了详细介绍视频和部分samples源码(English),MVVM Light Toolkit也在codeplex上又对应源码,在介绍视频中Laurent详细介绍了MVVM(Model-View-ViewModel)模式的特点、应用、数据消息处理等,层次由浅及深,是学习MVVM的好教材;

         正如Laurent 博客中介绍的,MVVM在在SL、wpf、wp7中的主要是将Mode和View分离,以便建立简洁、易维护、易扩展的应用程序;可测试性强(View和Model分离可以针对Model进行单元测试)、UI的易用性强;UI易用性主要体现在可以在Expression Blend中快速设计界面,而且Toolkit可以提供设计时数据以供UI设计师在设计UI更方便的看到很多数据控件的显示(这个在接下的章节中会介绍);这里主要向大家介绍本人对MVVM模式的一些浅层次了解.

1.MVVM模式结构

image

这是MVC模式,它实现了View和Model 的分离,可以为相同的Model开发不同的View显示,同时方便对Model进行测试,通过Controller管理请求并做逻辑处理;

image

这是MVVM模式,它已经完全隔离了Model和View,由Presentation Model控制程序逻辑;因而可以对ViewModel进行独立测试;

2.View和Mode之间的交互

image

View和ViewModel之间主要通过Databinding来显示ViewModel数据,同时View可以通知ViewModel数据的变化(设置Binding Mode);

用户操作(Button的Click之类的)通过绑定对应Command以通知ViewModel进行逻辑处理 ;关于Commands在接下来章节会做详细介绍;

ViewModel通过消息更新View的显示;Model作为数据处理组件;

 

环境配置:

如果你已经配置好了wp7开发环境,请直接安装 

MVVM Light Toolkit V4 beta1就可以了,它会包括SL、wpf、wp7应用模板,toolkit中的组件;

如果你未配置wp7开发环境,请参考http://www.cnblogs.com/yoainet/archive/2011/12/02/2272479.html中的环境配置进行安装

安装完后你的vs2010中会有以下模板:

image

mvvm silverlight

 

image

mvvm wp7

 

image

mvvm wpf

 

好了,可以开始mvvm开发之旅了

posted @ 2011-12-07 11:06  J默  阅读(739)  评论(0编辑  收藏  举报