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模式结构
这是MVC模式,它实现了View和Model 的分离,可以为相同的Model开发不同的View显示,同时方便对Model进行测试,通过Controller管理请求并做逻辑处理;
这是MVVM模式,它已经完全隔离了Model和View,由Presentation Model控制程序逻辑;因而可以对ViewModel进行独立测试;
2.View和Mode之间的交互
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中会有以下模板:
mvvm silverlight
mvvm wp7
mvvm wpf
好了,可以开始mvvm开发之旅了