MVVM:模型-视图-视图模型(Model-View-ViewModel)


   
组成部分Model、View、ViewModel

View:UI界面

ViewModel:它是View的抽象,负责View与Model之间信息转换,将View的Command传送到Model;

Model:数据访问层

View与ViewModule连接可以通过下面的方式

Binding Data:实现数据的传递

Command:实现操作的调用

AttachBehavior:实现控件加载过程中的操作

View没有大量代码逻辑。结合WPF、Silverlight绑定机制,MVP演变出了MVVM,充分利用了WPF、Silverlight的优势,将大量代码逻辑、状态转到ViewModel,可以说MVVM是专门为WPF、Silverlight打造的。

View绑定到ViewModel,然后执行一些命令在向它请求一个动作。而反过来,ViewModel跟Model通讯,告诉它更新来响应UI。这样便使得为应用构建UI非常的容易。往一个应用程序上贴一个界面越容易,外观设计师就越容易使用Blend来创建一个漂亮的界面。同时,当UI和功能越来越松耦合的时候,功能的可测试性就越来越强。

MSDN上的介绍和实例

http://msdn.microsoft.com/en-ca/magazine/dd419663.aspx

 
 

最新文章

  1. 分布式缓存之 memcache 实现分布式缓存
  2. Java Script基础(七) HTML DOM模型
  3. Codeforces 672
  4. 【01】视C++为一个语言联邦
  5. 设置apt-get
  6. js获取网页屏幕可见区域高度
  7. JAVA编程心得-JAVA实现CRC-CCITT(XMODEM)算法
  8. i2c的时钟延展问题(转)
  9. wemall app商城源码Android中ViewHolder详细解释
  10. loadrunner提高篇-block(块)技术和参数化
  11. 04 Django REST Framework 认证、权限和限制
  12. [转]PuTTY字体颜色设置
  13. [ZOJ 4020] Traffic Light
  14. NC 创建表空间数据库
  15. 【C/C++】实现龙贝格算法
  16. Python NLTK——python与nltk配置
  17. CoordinateLayout简介
  18. 2019.01.19 bzoj4592: [Shoi2015]脑洞治疗仪(ODT)
  19. UNIX环境编程学习笔记(12)——文件I/O之目录操作
  20. Flask 参数简介

热门文章

  1. docker镜像mac下保存路径
  2. 在Fedora 22下安装配置RealVNC Server 5.2.3的经验总结
  3. electron 自定义菜单
  4. Oracle 12c PDB和CDB全局用户权限问题
  5. Callable和Runnable和FutureTask
  6. bzoj 2694: Lcm
  7. Linux出现cannot create temp file for here-document: No space left on device的问题解决
  8. Android 支付宝快捷支付集成及ALI64错误的有效解决
  9. mongoVUE 破解方法
  10. C#语言 函数