Windows Phone开发之MVVM模式

   2015-06-24 0
核心提示:模式结构下图是MVVM模式的结构图,很简单的就是将系统拆解成三个类别(Model、View、ViewModel)。各个类别的主要职责为:Model负
 模式结构

下图是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使用。

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

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行