iOS----MVVM模式

这篇具有很好参考价值的文章主要介绍了iOS----MVVM模式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

  • 提到MVVM框架我们很容易想到MVC框架,iOS中,我们使用的大部分都是MVC架构,虽然MVC的层次明确,但是由于功能日益的增加,代码的维护,更多的代码被写在了Controller中,这样Controller就显得非常臃肿。
  • 为了给Controller瘦身,减少 View Controller 的复杂性并使得表示逻辑更易于测试。后来又从MVC衍生出了一种新的架构模式MVVM架构

一、 MVVM原理

  1. Model-View-ViewModel 是 M-V-VM 三部分组成,它本质上就是 MVC 的改进版。
  • Model:指后端传递的数据(本地数据、网络加载数据)。
  • ViewController/View: 展示层,显示用户可见得视图控件、与用户交互事件。界面的生命周期控制和业务间切换控制。
  • ViewModel: 是MVVM的核心,是连接view和model的桥梁,它有两个方向:
    (1)一是将模型(Model)转化成视图 (View),即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。​
    (2)二是将视图 (View)转化成模型(Model),即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件 监听。这两个方向都实现的,我们称之为数据的双向绑定。
  1. MVVM 就是将其中的 View 的状态和行为抽象化,其中 ViewModel 将视图 UI 和 业务逻辑分开,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑
  1. MVVM 采用双向数据绑定。View 中数据变化将自动反映到 ViewModel上,同样 Model 中数据变化也将会自动展示在页面上
  1. MVVM 的核心思想就是是关注 Model 的变化,让 MVVM 框架利用自己的机制自动更新 DOM,也就是所谓的数据-视图分离

ios mvvm,ui,ios,objective-c

二、MVVM模式的通讯关系

  1. View与Model是不直接通讯的。
  2. ViewController与Model是不直接通讯的。
  3. View只与ViewController / ViewModel两者发生关系。
  4. Model只与ViewModel通讯。

ios mvvm,ui,ios,objective-c

1、在MVVM 中,view 和 view controller正式联系在一起,我们把它们视为一个组件 View 和 View
2、controller 都不能直接引用model,而是引用视图模型(ViewModel)
3、ViewModel 是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其他代码的地方
4、使用MVVM会轻微的增加代码量,但总体上减少了代码的复杂性

三、MVVM模式的优缺点

优点:

  • 代码清晰:ViewModel 分离出来大部分的 Controller 代码,更加清晰和容易维护
  • 方便测试:大部分 Bug来自于逻辑处理,由于 ViewModel 把逻辑分离出来,可对 ViewModel 构造单元测试
  • 开发解耦:一位开发者负责逻辑实现,另一位开发者负责 UI 实现

缺点:文章来源地址https://www.toymoban.com/news/detail-782610.html

  • 代码量比 MVC 多、需对每个 Controller 实现绑定,这是分离不可避免的工作量
  • 数据绑定使得一个位置的 Bug 被快速传递到别的位置,要定位原始出问题的地方就变得不那么容易了。

到了这里,关于iOS----MVVM模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入理解MVVM架构模式

    原文合集地址如下,有需要的朋友可以关注 本文地址 MVVM是一种用于构建用户界面的软件架构模式,它的名称代表着三个组成部分:Model(模型)、View(视图)和ViewModel(视图模型)。MVVM的主要目标是将应用程序的UI与其底层数据模型分离,通过数据绑定实现数据和UI的自动

    2024年02月12日
    浏览(33)
  • MVVM架构模式

    一、MVVM简介 MVVM是Model-View-ViewModel的简写。即是模型-视图-视图模型。 MVVM架构模式是一种软件设计模式,它将应用程序分为三个部分:模型(Model)、视图(View)和视图模型(ViewModel)。该模式的目的是将用户界面(UI)逻辑与业务逻辑分离,以便开发人员可以更轻松地管理

    2024年02月11日
    浏览(33)
  • MVC与MVVM模式的区别

    Model(模型):用于处理应用程序数据逻辑,负责在数据库中存取数据。处理数据的crud View(视图):处理数据显示的部分。通常视图是依据模型数据创建的。 Controller(控制器):处理 数据显示 的部分,控制器负责从视图读取数据,控制用户输入,并将数据发送给模型。一

    2024年02月15日
    浏览(39)
  • 【软件架构模式——MVC、MVP、MVVM】

    1. MVC(Model-View-Controller) 概念介绍: MVC是一种软件架构模式,用于组织应用程序的代码和逻辑。它将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。 **模型(Model)**负责处理应用程序的数据逻辑和状态。它表示应用程序的数据源,并封装了与

    2024年02月11日
    浏览(57)
  • Angular系列教程之MVC模式和MVVM模式

    在讨论Angular的时候,我们经常会听到MVC和MVVM这两种设计模式。这两种模式都是为了将用户界面(UI)和业务逻辑分离,使得代码更易于维护和扩展。在这篇文章中,我们将详细介绍这两种模式,并通过示例代码展示Angular是如何实现MVVM模式的。 MVC模式是Model-View-Controller的缩写,

    2024年01月17日
    浏览(47)
  • Android MVVM架构模式,详详详细学习

    是一种基于数据绑定的架构模式,用于设计和组织应用程序的代码结构。它将应用程序分为三个主要部分:Model(模型)、View(视图)和ViewModel(视图模型)。 Model(模型):负责处理数据和业务逻辑。它可以是从网络获取的数据、数据库中的数据或其他数据源。Model层通常

    2024年02月12日
    浏览(37)
  • C# WPF简单的MVVM模式事例

    WPF中使用MVVM模式开发有诸如以下优点: 1.结构清晰明朗,上手成本低,一个新人也能快速的定位自己需要改动代码的位置。 2.耦合度低,更改WPF控件不影响数据结构,更改代码成本低。 3.可重用性高,比如一个处理逻辑放到ViewModel模块中,其他界面如果要用掉直接调用即可。

    2024年02月09日
    浏览(47)
  • 第六章:自建MVVM模式的简易项目框架

    前面的几章为我们筑好了MVVM的基础,在这一章中我们将自己搭建一个MVVM模式下的简易项目框架。 MVVM是一种模式,主要目的是降低界面和业务逻辑的耦合。 MVVM是Model-View-ViewModel(模型-视图-视图模型)的简写。是WPF开发过程中必不可少的一种开发模式,MVVM基本结构如下图所

    2023年04月26日
    浏览(72)
  • Android Mvvm设计模式的详解与实现

            在开发设计模式中,模式经历了多次迭代,从MVC到MVP,再到如今的MVVM。发现的过程其实很简单,就是为了项目更好的管理。         设计模式严格来说属于软件工程的范畴,但是如今在各大面试中或者开发中,设计模式被问的很多。特别是八股文的二十三种设

    2024年02月10日
    浏览(36)
  • WPF 项目中 MVVM模式 的简单例子说明

    MVVM 是 Model view viewModel 的简写。MVVM模式有助于将应用程序的业务和表示逻辑与用户界面清晰分离。 几个概念的说明: model :数据,界面中需要的数据,最好不要加逻辑代码 view : 视图就是用户看到的UI结构 xaml 文件 viewModel : 业务逻辑代码 绑定器:声明性数据和命令绑定隐含在

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包