AngularJS利刃 MVVMLight 1:MVVMLight介绍与当项目被之施用

一、MVVM 和 MVVMLight介绍

MVVM是Model-View-ViewModel的简写。类似于即可比盛行的MVC、MVP设计模式,主要目的是为分离视图(View)和模型(Model)的耦合。

它们是如出一辙种最优秀之设计模式,但不要框架级别的事物,由MVP(Model-View-Presenter)模式以及WPF结合的应用措施时进化演变过来的同样种植流行性架构。

立足于原始MVP框架而将WPF的新特征糅合进去,以承诺本着PC端支出渐渐复杂的要求变动。

 

结构如图所示:

AngularJS 1

 

对立于事先将逻辑结构写在Code Behind
里面的点子,MVVM几乎全解耦了视图和逻辑业务的关系,通过数据绑定和指令来处理UI属性

跟事件驱动。同理,ViewModel的视图交互业务逻辑处理导致的习性变更为会见打招呼到View前端,让View前端实时更新。Model中存放数据模型与数码逻辑、业务逻辑。

骨子里自己个人认为,数据以及作业交互这同样叠或者该另外独立,Model中全然就是实体模型,这样还清楚。

 

这种类型的双向绑定好完美,View的转,会活动感应到ViewModel上,反之亦然。目前JS前端框架AngularJS也是采用这种设计模式。

 

MVVM模式与MVC模式一样,主要目的是分手视图(View)和模型(Model),有几乎不胜亮点

1.
低耦合:
视图(View)可以独立于Model变化以及改,一个ViewModel可以绑定到不同之View上,当View变化的时段Model可以免转换,当Model变化之时节View也得不换。

2.
而重用性:
可将一些视图逻辑在一个ViewModel里面,让众View重用就段视图逻辑。

3.
独立开发:
开发人员可以小心于事情逻辑与数据的开支(ViewModel),设计人员好小心于页面设计,使用Expression
Blend可以充分爱设计界面并生成xml代码。

4.
可测试:
界面素来是比麻烦给测试的,而现测试好针对ViewModel来描写。

 

仰望对MVVM有双重进一步询问之同学可以望这首文章:https://www.codeproject.com/kb/wpf/wpfmvvmquickstart.aspx,

笔者从MVVM的模式介绍到数量绑定、消息通知、命令等几乎独重点方面还有详细的辨证。

 

如您手上正值开展微软的 WPF 、Windows Phone、Windows
8、SilverLight相关项目的开,我先行老有必要了解一下MVVM Light框架。

其轻量(相对于Prism),专注(仅负责MVVM架构模式的兑现,没有其它多余的零件),高效(使用简便,省时减力),能够助你再度好的支付而的下。

 

MVVMLight的作者Laurent Bugnion
是独微软MVP,这个是MVVMLight的官网:http://www.mvvmlight.net/,上面有详实的牵线和视频文档,

再者作者还拿代码开源及Codeplex上面:http://mvvmlight.codeplex.com/,有趣味之同学可以生充斥来询问下。

 

有趣的凡,MVVMLight的出品Logo是千篇一律清羽毛,寓意了咱们地方提到的长处:轻量、专业、高效,不知晓作者是不是这意思。

AngularJS 2

 

 

 

其次、如何当您的WPF应用中以MVMLight

重在行使方法有少数种;

一如既往种植是错开公共网上下载MVVMLight
Toolkit,安装后,VS模板被见面现出MvvmLight项目模板,你可直接使用该类型模板来创造项目了。

内会含有默认的ViewModelLocator和MainViewModel,MainViewModel就是公Main视图的ViewModel了,而ViewModelLocator是一个大局的ViewModel加载注册器,这个次篇会详细说交。

 

其它一样种方法就是去NuGet上安,这如实是极度便利的事了。在NuGet 工具箱上探寻
MVVM Light,可以见见零星只类别,一个凡是MVVM Light , 一个凡 MVVM Light
libraries only。

目前版本是5.3,说明MVVM Light的翻新快还是挺快的,Prerelease中还有 V5.4
的 ALAPHA 版本。

 

Nuget上随即有限只类别之界别就是是MVVM Light除了不可或缺的GalaSoft
组件之外,还会见额外添加相关分层文件目录形成简单的MVVMLight成型框架。

AngularJS 3

 

假若图它见面拉您生成ViewModel文件夹,里面包含MainViewModel和ViewModelLocator文件。

AngularJS 4

至今,一个因MVVMLight的WPF项目框架基本搭建完成了,下面一首我们详细说下框架的构造。

 

转载请标明出处,谢谢 

 

相关文章