MVVM结构分析

作者: 码动人生 | 来源:发表于2016-07-14 15:00 被阅读225次

大家比较熟悉的设计模式是MVC(模型-视图-控制器)。最近MVVM的设计模式也开始被广泛的使用,今天就用一个小Demo来简单体验一下MVVM。

MVVM是微软提出的一种新型的结构模式。MVVM是Model-View-ViewModel的简写。与传统的MVC类比 ViewModel替换了C的位置。这种设计的模式使得控制器的代码繁琐程度降到很低,我们通过代码来看一下这种这结构的使用。

我们在控制器上显示一个天气状况的View.这个View使用xib来创建。

在控制器上显示一个 城市天气的View

1.准备独立的View

关联xib的View类 xib的描述样式

2.独立的模型Model

View显示的模型

3.独立的ViewModel

ViewModel中提供一个方法 内部调用网路请求 方法去请求ViewModel数据 请求之后不做处理返回给调用者

4.网络请求类中提供类方法 使用AFN请求网络数据

网络工具类中 同样是把请求得到的数据回传给调用者 内部不做任何数据处理

5.在控制器中使用的使用就非常的清晰和简单

控制器需要显示View,那么就去View类中获取。控制器需要View中显示的模型数据,那就去ViewModel类中直接获取。控制器所要做的任务就是中间桥梁作用,把ViewModel的数据交给View去显示。

View ----> 控制器 <----ViewModel

通过代码来看,ViewModel本质所做的工作就是在传统MVC模式中“C“所做的任务,只是现在把这部分代码独立出来。这样一来控制器内部的逻辑代码就显得比较清晰,干净。 从上述结构来看,这样也可以更加清晰的进行分工合作。View ---ViewModel---Model----网路工具类-----控制器。  他们完全可以独立开来,如果可以在团队合作中善加利用一定可以提高整个项目的结构化水平和层次感。

如果你有更好的建议请致邮件到zihanvip520@163.com,欢迎打扰。

相关文章

  • MVVM结构分析

    大家比较熟悉的设计模式是MVC(模型-视图-控制器)。最近MVVM的设计模式也开始被广泛的使用,今天就用一个小De...

  • RAC + MVVM 结构分析

    demo地址[https://github.com/LiHe0308/RACMVVMDemo] 文件夹分析 文件夹...

  • MVVM框架分析(附OC demo)

    MVVM结构图分析: 这里附上一个objective-c的demo, 它是通过KVO对MVVM进行的绑定的:MVV...

  • MVVM的讲解和使用

    Android MVVM 分析以及使用 首先我们需要知道什么是MVVM,他的功能和优点,以及他的缺点。 MVVM是...

  • ARouter与MVVM

    参考文章 : (一)Android官方MVVM框架实现组件化之整体结构 (二)Android官方MVVM框架实现组...

  • 五、MVVM

    一、什么是MVVM框架 MVVM框架是MVC框架的增强版。 MVVM描述的是一个基本结构,和MVC架构相比,MVV...

  • Vue中的MVVM

    什么是MVVM Model-View-ViewModel(MVVM,模型视图视图模型)是软件体系结构模式之一。通过...

  • react初探(Virtual DOM分析)

    Think 在 react 之前我只接触过 mvvm 结构的框架。 mvvm 采用这样一种机制:只要在模版中声明视...

  • iOS架构

    mvc mvvm mvp 三四层 数据结构与算法严蔚敏,《数据结构》《大话数据结构与算法》 网络《HTTP...

  • 2018-11-12

    论MVVM伪框架结构和MVC中M的实现机制 - 简书

网友评论

  • 落影loyinglin:总结下,你的数据基本存放在viewModel,Model只是一个简单的数据模型,Controller处理UI响应后的操作。
    我之前用的MVVM有点不同,C和V差不多,数据存放在Model,viewModel和Controller一一对应,数据结构和网络请求另放
    落影loyinglin:@冬哥夜话 UI逻辑在C,数据逻辑在VM
    码动人生:@落影loyinglin 那你是用ViewModel来处理逻辑的 吗

本文标题:MVVM结构分析

本文链接:https://www.haomeiwen.com/subject/cnyejttx.html