发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
Page 1~2
阅读完本章,你将学会:
模型、视图、视图模型(Model View ViewModel, MVVM)模式
MVVM模式由John Gossman(微软WPF及Silverlight软件架构师)于2005年在其博客中引入。MVVM是Presentation Model(PM)模式的专门化模型,后者由Martin Fowler在2004年作了论述。
PM模式的一个主要目标是从展示逻辑(presentation logic)中分离并抽象视图(View),使得用户界面(UI)可测试。视图即可视的用户界面(UI)。PM模式的其他目标可能包括让展示逻辑代码从不同的UI及不同的UI技术中可重用,减少UI和其他代码的耦合,允许UI设计者以一个更加独立的方式进行开发。MVVM模式是PM模式的一个专门化演绎,用于满足WPF和Silverlight的需求。
使用了MVVM模式的程序在结构上由三个主要组件构成:模型、视图和视图模型。
起初,只有WPF才有足够的机制满足MVVM模式的需求。在Silverlight 2中也实现了对MVVM模型的支持,但是实现起来比在WPF中困难一些。现在,随着Silverlight 4的发布,利用数据绑定、命令、行为和数据模板等技术,开发者可以使用同一种方式在WPF和Silverlight中实现MVVM模式。
当应用MVVM模式时,必须特殊处理ViewModel。因为它拥有非常多的责任,所以开发者非常容易创建一个杂乱的解决方案,在这个乱七八糟的解决方案会存在许多重复代码。然而,当使用正确的方法时,MVVM模式可节省时间、使UI可测试以及容易维护。当然,为了正确使用MVVM模式,必须掌握XAML及其UI结构。同时,需要熟悉XAML绑定引擎的工作方式,还要熟悉命令对象、命令行为(ICommand)和数据模板的结构。最后,为了在WPF和Silverlightk中高效使用MVVM模式,必须了解WPF和Silverlight之间的差异。
本书深入分析MVVM模式的每一个组件。最后,你会创建一个简单的MVVM模式业务应用程序,由此程序作为日后任意一个MVVM程序的模板。同时,你会构建一个小而实用的MVVM框架,其作为一个即插即用的功能组件,你可在你的WPF或Silverlight程序中使用,以便简化MVVM程序的编码。例如,该框架将提供一个基础的ViewModel类,一个示例消息代理(Message Broker)和其他一些典型MVVM模式程序需要的特性。
业务应用程序
从我的经验上看,学习技术的最佳方式是动手实践,逐步构建一个程序。使用业务应用程序(LOB)为蓝本是出于以下几个原由:
1、适合于弹性的UI技术
来自: 昵称10504424 > 《工作》
0条评论
发表
请遵守用户 评论公约
表现层持续解耦带来的模式转变 MVC MVP MVVM (微软WPF带来的团队变化和软件技...
表现层持续解耦带来的模式转变 MVC MVP MVVM (微软WPF带来的团队变化和软件技...表现层持续解耦带来的模式转变 MVC MVP MVVM (微软WPF带...
MVVM模式介绍
MVVM模式介绍。MVVM:模型-视图-视图模型(Model-View-ViewModel)ViewModel:它是View的抽象,负责View与Model之间信息转换,将View的Command传送到Model;结合WPF、Silverlight绑定机制,MVP演变出...
MVC,MVP,MVVM之异曲同工
MVC,MVP,MVVM之异曲同工。(3) MVVM:模型-视图-视图模型(Model-View-ViewModel)结合WPF、Silverlight绑定机制,MVP演变出了MVV...
重量级
Massive View ControllerModel-View-ViewModel.Data Controller将请求到得数据加工返回给View Controller4.View Controller将Data Contr...
Wpf开源收集
前面介绍了WPF的基本概念和一些相关知识,我们了解到开发WPF应用程序可以使用现成的框架和模式,最为合适的莫过于时下正热的MVVM模式,...
WPF中MVVM模式原理分析与实践
记得曾经有一个Model-View-AbstractView模式, 而MVVM中的VM实际也是一个AbstractView: the abstraction of view. 它是一个抽象的View, 具有一个View的灵魂,而不具备相应的可视化控件而已. 所以对于程序...
MVC、MVP、MVVM三种区别及适用场合
MVC、MVP、MVVM三种区别及适用场合。MVP(Model-View-Presenter)是MVC的改良模式,由IBM的子公司Taligent提出。MVP优点: 模型与视图完...
系统架构师
架构首先是分为不同层次的和不同视图的,例如架构有五种视图:逻辑视图、物理视图、数据视图、运行视图、开发视图。3、降低业务逻辑层与...
MVVM模式下ViewModel是做什么用的?
微信扫码,在手机上查看选中内容