MVVM架构的简单解析
来源:互联网 发布:飞飞cms电影网站搭建 编辑:程序博客网 时间:2024/05/16 09:40
MVVM架构的简单解析
图1 View、ViewModel、Model之间的关系
在SilverLight或者WPF开发中,为什么要用MVVM架构
使用MVVM架构最大的好处是:开发人员在写程序的时候不需要做UI,而设计人员可以使用Microsoft Expression Blend 4+设计全部的UI并且不需要写任何代码。
主要的好处如下:
1、设计人员可以用设计工具很容易的设计UI,而且不需要写任何代码
2、你可以更好的设计UI,而且可以让即使不是开发人员使用。
3、可以先设计UI或者与开发同时设计。
4、当UI全部改变时,代码可以不改变。
为了达到以上要求。当你设计UI时,后台不能有任何代码。并且UI与应用程序通过Bindings和Commands相互交互,其中Bindings和Commands在ViewModel中设计。
The Model
图2 Model结构
Model层主要为应用程序提供数据。其主要包含
1、Web Services:SilverLight应用程序的特点就是必须通过Web service取得数据,你可以调用Web Service中的方法。
2、Rest Services:和Web Services一样
3、Generic Collections:任何类型的数据集合
The View Model
图3 View Model结构
View Model一般有以下三个部分组成
1、属性:一个事物,它的类型可以是一个字符型,也可以是一个对象。实现接口INotifyPropertyChanged,那么任何UI元素绑定到这个属性,不管这个属性什么时候改变都能自动和UI层交互。
2、集合:事物的集合,它的类型一般是ObservableCollection,因此,任何UI元素绑定到它,不管这个集合什么时候改变,都可以自动的与UI交互。
3、Commands:一个可以被触发的事件,并且可以传递一个类型为Object的参数。但是前提是要实现接口ICommand。
The View
图4 View层结构
这一层可以用Expression Blend设计,不用写任何代码。
主要有以下三个部分组成
1、把View Model层的属性绑定到 text box, radio button, toggle button, MediaElement, trigger an animation or ViewState change
2、把View Model层的集合绑定到ListBox,TreeView,DataGrid
3、Commands
使用InvokeCommandAction实现以下behavior
A、绑定View Model层的ICommand
B、指出你需要实现的ICommand(比如Click事件,Selected事件。。。)
C、传递参数
以上就是我对MVVM的简单理解,希望对大家有帮助
- MVVM:MVVM架构的简单解析
- MVVM架构的简单解析
- MVVM架构的简单理解
- MVVM架构简单使用
- MVVM架构简单使用
- 架构:Android的MVVM
- MVVM架构的优缺点
- MVVM的简单使用
- MVVM的简单使用
- MVVM架构篇之databinding机制解析
- MVC、MVP、MVVM架构模式--简单说
- MVVM架构的一次实践
- MVVM架构的一次实践
- WPF外包团队技术分享—WPF的MVVM架构解析(分享)
- [ASP.net教程]WPF外包技术分享—WPF的MVVM架构解析(分享)
- VUE的MVVM框架解析
- MVVM架构
- MVVM架构
- N2CMS Mvc Examples 学习记录 (4) – 母版页和视图
- 三角函数幂级数大全
- linux 下使用bochs遇到的问题
- c# 允许服务与桌面交互
- sqlite3编程笔记
- MVVM架构的简单解析
- 第一次投递求职信
- C#单例模式的三种写法
- thinking
- MFC程序输出调试信息到控制台
- vim打开文档和多文档编辑
- Android应用开发基础
- CSS3 Transition详解
- 利用directshow进行摄像头的开发