利刃 MVVMLight 一:MVVMLight介绍以及在品种中的使用

一、MVVM 和 MVVMLight介绍

MVVM是Model-View-ViewModel的简写。类似于近日相比较盛行的MVC、MVP设计方式,首要指标是为着分离视图(View)和模型(Model)的耦合。

它是一种万分杰出的设计情势,但决不框架级别的事物,由MVP(Model-View-Presenter)情势与WPF结合的采用措施时进化演化过来的一种新颖架构。

立足于原有MVP框架并且把WPF的新特点糅合进去,以应对PC端支出逐步复杂的须要变化。

 

布局如图所示:

图片 1

 

相持于事先把逻辑结构写在Code Behind
里面包车型地铁方式,MVVM差不多完全解耦了视图和逻辑业务的关联,通过数量绑定和下令来拍卖UI属性

及事件驱动。同理,ViewModel的视图交互业务逻辑处理导致的属性别变化更也会通报到View前端,让View前端实时更新。Model中存放数据模型和数据逻辑、业务逻辑。

其实自身个人认为,数据和事情交互那1层依旧应该别的独立,Model中完全就是实人体模型型,那样更清晰。

 

那连串型的双向绑定拾贰分不错,View的更改,会活动感应到ViewModel上,反之亦然。近日JS前端框架AngularJS也是使用这种设计情势。

 

MVVM方式和MVC形式一样,首要指标是分离视图(View)和模型(Model),有几大优点

1.
低耦合:
视图(View)能够单独于Model变化和改动,多个ViewModel能够绑定到分化的View上,当View变化的时候Model能够不变,当Model变化的时候View也能够不变。

二.
可重用性:
能够把1部分视图逻辑放在3个ViewModel里面,让洋洋View重用那段视图逻辑。

三.
独立开发:
开发人士能够小心于工作逻辑和数指标开发(ViewModel),设计职员能够小心于页面设计,使用Expression
Blend能够很不难设计界面并生成xml代码。

4.
可测试:
界面一向是相比难于测试的,而明天测试能够本着ViewModel来写。

 

梦想对MVVM有更进一步理解的同室能够看看这篇小说:https://www.codeproject.com/kb/wpf/wpfmvvmquickstart.aspx

作者从MVVM的情势介绍到多少绑定、音讯公告、命令等多少个关键方面都有详细的注脚。

 

假诺您眼下正在举办微软的 WPF 、Windows Phone、Windows
八、SilverLight相关项指标开支,笔者先很有至关重要领会一下MVVM Light框架。

它轻量(相对于Prism),专注(仅负责MVVM架构形式的落到实处,未有别的多余的机件),高效(使用不难,省时减力),能够扶助您越来越好的付出你的行使。

 

MVVMLight的撰稿人Laurent Bugnion
是个微软MVP,这么些是MVVMLight的官网:http://www.mvvmlight.net/,上边有详实的牵线和录制文档,

还要作者还将代码开源到Codeplex上面:http://mvvmlight.codeplex.com/,有趣味的同班能够下载来驾驭下。

 

诙谐的是,MVVMLight的成品Logo是一根羽毛,暗意了咱们地点提到的独到之处:轻量、专业、高效,不明了笔者是否那些意思。

图片 2

 

 

 

二、怎样在你的WPF应用中运用MVMLight

首要采取格局有二种;

一种是去官网上下载MVVMLight
Toolkit,安装之后,VS模板中会出现MvvmLight项目模板,你能够平昔接纳该品种模板来成立项目了。

里头会包罗暗中同意的ViewModelLocator和MainViewModel,MainViewModel正是您Main视图的ViewModel了,而ViewModelLocator是七个大局的ViewModel加载注册器,那么些第3篇会详细谈到。

 

另一种格局就是去NuGet上安装,那的确是最省事的事了。在NuGet 工具箱上找寻
MVVM Light,能够见见多少个品类,多少个是MVVM Light , 多个是 MVVM Light
libraries only。

当前版本是五.叁,表达MVVM Light的换代速度照旧挺快的,Prerelease中还有 V伍.4的 ALAPHA 版本。

 

Nuget上那多少个门类的区分便是MVVM Light除了必备的GalaSoft
组件之外,还会非常添加相关分层文件目录形成简单的MVVMLight成型框架。

图片 3

 

如图它会帮您生成ViewModel文件夹,里面富含MainViewModel和ViewModelLocator文件。

图片 4

时至前日,叁个基于MVVMLight的WPF项目框架基本搭建达成了,上面一篇大家详细说下框架的布局。

 

转发请标明出处,多谢 

 

相关文章