美文网首页
MVVM 介绍

MVVM 介绍

作者: Michael1 | 来源:发表于2017-05-02 17:05 被阅读319次

MVVM是MVC模式的升级版,相比MVC多了一个ViewMode层,减轻了ViewController的负担,先来比较一下MVC和MVVM


1. MVC

MVC模式想必大家都很熟悉了,到处都是用这个模式,我从编程入门就一直接触这个模式,压根就不知道MVVM模式。MVC模式分为Model,View,Controller三层,Model负责数据层,Controller负责业务逻辑层,View负责界面显示层,所以可以让不同的View使用用一个Controller层,程序扩展性比较好。所以我就不必多说这个模式了好处了。

但是仔细分析一下ViewController:

既然叫ViewController为什么网络请求的任务也要交给你

既然叫ViewController为什么数据解析的任务也要交给你?

既然叫ViewController为什么数据存储的任务也要交给你?

既然叫ViewController为什么你管那么多事?为什么不好好负责你的View啊????

2.MVVM

你既然叫ViewController是吧,那么你就负责View的显示和更新,其他业务逻辑不需要你管,把你和View层绑在一起了,你们两个就负责一层就行了。

对于Model层,你还给我负责数据层就行了。

那么业务逻辑层呢?业务逻辑层我就在ViewController层和Model层之间再添加一个ViewModel层就行了,让他负责业务逻辑,负责网络请求和数据解析。

那么现在我们可以说ViewController从ViewModel层中读取数据然后显示在View上,他并不和Model层直接打交道,和Model层直接打交道的是ViewModel层。

其实ViewController中会包含一个viewmodel的对象,View层需要变化,可以直接让这个对象调用ViewModel的方法获取数据,ViewModel层获得数据然后保存Model中,但是ViewModel层获取的数据怎么才能告诉ViewController层刷新UI呢?

可以在获取数据调用一个block回调,然后在ViewController中更新UI数据,在swift中是闭包。

//获取数据然后有一个block回调

-(void)topRefreshWithCallBack: (callback)callback;

MVC模式和MVVM模式的差别

相关文章

  • vue入门

    MVVM的介绍 vue的设计思想是基于MVVM实现的,那么什么是MVVM呢?简单介绍: 组成 MVVM ===> ...

  • 值得学习的技术文章(持续添加)

    1. MVVM 学习资料 MVVM奇葩说 面向协议的 MVVM 架构介绍 MVVM With ReactiveCo...

  • Android MVVM 解读 3. Android MVVM

    Android MVVM 解读 3. Android MVVM 介绍(1) 包含的信息 Android MVVM ...

  • MVVM介绍

    本篇参考objc.io文章 MVVM介绍还有这一篇 Model-View-ViewModel for iOS 1....

  • MVVM 介绍

    原文连接 我于 2011 年在 500px 找到自己的第一份 iOS 开发工作。虽然我已经在大学里做了好几年 iO...

  • MVVM介绍

    以 MVVM 属术语来说,就是那些将 Model 数据转换为 View 可以呈现的东西的事情,例如将一个NSDat...

  • MVVM 介绍

    有时我感觉就像我不知道在做什么。虽然我知道自己的设计模式——就像任何好的编程人员那样 —— 但我太接近我在做的产品...

  • MVVM 介绍

    MVVM是MVC模式的升级版,相比MVC多了一个ViewMode层,减轻了ViewController的负担,先来...

  • Xamarin.Forms MVVM

    目录 - Xamarin.Forms 前言 本文介绍MVVM:一、MVVM简介二、MVVM示例 环境 1.Visu...

  • MVVM设计模式

    MVVM设计模式 在介绍MVVM设计模式之前我们先介绍一下DataBinding DataBinding,2015...

网友评论

      本文标题:MVVM 介绍

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