[WPF初学]基于WPF框架的MVVM模式简介
来源:互联网 发布:js修改微信分享的内容 编辑:程序博客网 时间:2024/06/05 02:21
微软的WPF带来了新的技术体验,如Sliverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性揉合进去,以应对客户日益复杂的需求变化。
WPF的数据绑定与Presentation Model相结合是非常好的做法,使得开发人员可以将View和逻辑分离出来,但这种数据绑定技术非常简单实用,也是WPF所特有的,所以我们又称之为Model-View-ViewModel(MVVM)。而基于PresentationModel的MVP和基于ViewModel的MVVM形式上一个主要区别在于:
注:内容来自于网络。
WPF的数据绑定与Presentation Model相结合是非常好的做法,使得开发人员可以将View和逻辑分离出来,但这种数据绑定技术非常简单实用,也是WPF所特有的,所以我们又称之为Model-View-ViewModel(MVVM)。而基于PresentationModel的MVP和基于ViewModel的MVVM形式上一个主要区别在于:
- 前者的PresentationModel里一般要注入一个IView实例,当然目的是解耦,但也给人留下一个余地,也就是说在没有更好办法做binding的时候,可以调用IView直接操作界面来做事,当然是比较灵活的,而且基于接口依赖的UI与业务逻辑的分离也是不错的,但这需要维护View和PresentationModel之间的双向引用,而且代码(尤其是View的代码)看起来就不那么简洁了,因为即使是依赖于接口,也是依赖,总不如没有依赖要好;
- 而后者(MVVM)的一个主要特征是:完全通过binding机制,由ViewModel指示UI如何做变更,同时用户与ViewModel的交互通过Command来实现,这样只需要View指导ViewModel即可,而ViewModel完全不必关心View暴露出什么样的接口和操作,它只需要提供属性(要绑定的数据和Command)并实现INotifyPropertyChanged即可,少了一个方向的依赖,代码自然更简洁清晰。
注:内容来自于网络。
http://blog.163.com/lvan100@yeah/blog/static/681172142011111855923151/?suggestedreading&wumii
0 0
- [WPF初学]基于WPF框架的MVVM模式简介
- wpf之三:WPF的MVVM模式
- 谈WPF的MVVM模式
- WPF Sliverlight MVVM模式框架收集
- WPF MVVM框架(转)
- WPF中的MVVM模式
- wpf mvvm模式 实例
- WPF中的MVVM模式
- WPF中的MVVM模式
- WPF中的MVVM模式
- MVVM模式WPF计算器
- WPF MVVM模式实践
- WPF MVVM模式
- 基于WPF的MVVM架构实践
- WPF中Mvvm模式的理解
- 使用WPF+MVVM模式的小案例
- WPF与MVVM的实现(一)MVVM简介
- WPF的MVVM
- dubbo-monitor-simple-2.5.3-assembly 简易监控中心安装
- 第4章 Android dex文件格式 第一节
- sshd 无法启用的问题 Could not load host key: /etc/ssh/ssh_host_rsa_key Could not load host key: /etc/ssh/ss
- android图片保存
- 内联函数和宏定义的区别
- [WPF初学]基于WPF框架的MVVM模式简介
- 002.设计模式之工厂模式
- 创意的市场因素分析
- BW InfoCube and Extended Star Schema
- 想使用 MongoDB ,你应该了解这8个方面!
- Java多线程之Executor框架(1)
- struts2 类型转换器笔记
- JPEG转RGB Bmp(IJG库 jpeg.lib)
- IOS学习笔记