zoukankan      html  css  js  c++  java
  • MVVM(MVC的增强版)

    MVVM(Model-View-ViewModel)

    MVVM是什么?

    我们都知道MVC(Model-View-Controller),这也是大部分开发者惯用的设计模式,Model 呈现数据,View 呈现用户界面,而 View Controller 调节它两者之间的交互。

    但是稍微考虑一下,随着现在App的功能的增加导致复杂程度的提高,我们在View Controller放的东西越来越多,许多逻辑被放在 View Controller 里。它们中的一些确实属于 View Controller,但更多的是所谓的“表示逻辑(presentation logic)”,就是那些将 Model 数据转换为 View 可以呈现的东西的事情,例如将一个 NSDate 转换为一个格式化过的 NSString

    MVVM的引进,不是用ViewModel来取代View Controller,而是把“表示逻辑”从View Controller中抽出来放到ViewModel中,来缓解View Controller的压力。

    我们用一个框图来更清晰的了解一下MVVM

    Model-View-ViewModel

    这个图解清晰的展示了什么是MVVC:一个 MVC 的增强版,我们正式连接了视图和控制器,并将表示逻辑从 Controller 移出放到一个新的对象里,即 View Model。MVVM 听起来很复杂,但它本质上就是一个精心优化的 MVC 架构,而 MVC 你早已熟悉。

    为什么要用MVVC?

    在 iOS 上使用 MVVM 的动机,对我来说,无论如何,就是它能减少 View Controller 的复杂性并使得表示逻辑更易于测试。

    总结来自于http://objccn.io/issue-13-1/

    更多的实例可以去上面的网站看看。

  • 相关阅读:
    打开虚拟机导致电脑蓝屏
    jmeter访问接口后返回的数据乱码
    使用jmeter批量对新增账号初始化操作
    使用jmeter参数化时在数据中匹配11位的手机号并分组操作
    vsphere vdp备份情况导出
    grep的完全匹配(不是-w)
    win10右键新建md文件,亲测有效
    信步漫谈之Wiki知识库——搭建dokuwiki
    vim操作学习
    writev函数
  • 原文地址:https://www.cnblogs.com/dxb123456/p/5478170.html
Copyright © 2011-2022 走看看