分享好友 移动开发首页 频道列表

Windows Phone开发之MVVM模式

WP开发  2015-06-24 22:450
 模式结构

下图是MVVM模式的结构图,很简单的就是将系统拆解成三个类别 (Model、View、ViewModel)。

各个类别的主要职责为:Model负责企业数据逻辑、View负责画面数据逻辑、ViewModel负责执行状态维持、画面流程逻辑及企业流程逻辑。

其中 ViewModel-Model之间,是ViewModel直接使用 Model开放的成员,属于ViewModel到Model的单向沟通连接。

而 View-ViewModel之间,是透过 Binding技术及Command的设计

模式,将两者作双向的沟通连接。

MVVM

模式特征

做为MVC延伸模式的MVVM模式,其最大的特征就是,

在View-ViewModel之间,是透过 Binding技术及Command的设计模式,将两者作双向的沟通连接。

并且在模型结构设计上,将ViewModel定义为有状态的对象模型,由ViewModel负责维持执行状态。

这样设计最大的好处,是可以将View与ViewModel之间的相依关系,设计为单向相依。

ViewModel做是独立的个体不相依View,让View的职责回归到单纯的完成输入及显示的工作。

并且方便特定的设计工具设计View的外观,可以将View的设计交由完全不懂程序设计的人员作处理。

实作分析

1. MVVM模式本身在模型结构设计上,是将ViewModel设计为有状态的对象模型。

实作范例的内容,将ViewModel架构在有状态的应用程序模型上,不做额外的设计。

2. 而 MVVM模式对象之间的生成模式,实作上设计成以View当作主要对象,生成ViewModel及Model,并且将Model注入至ViewModel。

3. 以DDD的观念去分析Model,可以将Model视为Domain Layer,是整个模式重用的焦点。

这个Domain Layer里面,包含了整个Presentation会使用到的数据对象、边界对象、逻辑对象...等等。

4. 以DDD的观念去分析ViewModel,可以将ViewModel视为Application Layer。

这个Application Layer封装View所需要的数据、操作及状态维持,用来提供给View使用。

经过这些分析与设计的种种考虑,可以设计出如下图的对象图。

查看更多关于【WP开发】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
WindowsPhone开发:一些小技巧
在本文中,记录了一些Visual Studio 或 Windows Phone开发的小技巧,希望可以加快您的代码开发速度,或者解决您的小难题~善用pro

0评论2015-06-24125

Windows Phone开发之墓碑化
名称 说明Launched 启动新程序的启动Closed 通过Back按键关闭程序Deactivated 一个正在程序运行,此时按start键,程序停用,此后

0评论2015-06-24124

WindowsPhone误区 你是不是也有这样的错误认识
本文是小编在网上冲浪的时候偶然发现的一个帖子,在此先感谢一下本帖的作者:百度贴吧ID为徘徊你的身边,本帖的原名关于人们对WP

0评论2015-06-2492

WindowsPhone8的技术架构
从Windows phone7 到Windows phone8最大的区别就是把 winCE内核更换为winRT内核,并且底层的架构使用了Windows运行时的架构。在

0评论2015-06-2498

更多推荐