什么是 MVVM?MVVM和 MVC 有什么区别?什么又是 MVP ?

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

一、什么是MVVM?

MVVM是 Model-View-ViewModel的缩写,即模型-视图-视图模型。MVVM 是一种设计思想。

  • 模型(Model):代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。数据保存—存放着各种数据,有的是固定写死的,大多数是从后端返回的数据
  • 视图 (View):代表UI 组件,它负责将数据模型转化成UI 展现出来,用户界面,也就是DOM
  • 视图模型(View-Model):监听数据模型的改变和控制视图行为、处理用户交互,简单理解就是一个同步View 和Model的对象,连接Model和View。

MVVM的流程如下:
什么是 MVVM?MVVM和 MVC 有什么区别?什么又是 MVP ?

二、MVC是什么?

MVC 通过分离 Model、View 和 Controller 的方式来组织代码结构。其中 View 负责页面的显示逻辑,Model 负责存储页面的业务数据,以及对相应数据的操作。并且 View 和 Model 应用了观察者模式,当Model 层发生改变的时候它会通知有关 View 层更新页面。Controller 层是View 层和 Model 层的纽带,它主要负责用户与应用的响应操作,当用户与页面产生交与的时候,Controller 中的事件触发器就开始工作了,通过调用 Model 层,来完成对 Model 的修改然后 Model 层再去通知 View 层更新。

三、MVVM和MVC的区别?

  • 都是一种设计思想
  • MVC后台用的多,MVC是Model-view-Controller的简写,即模型-视图-控制器。
  • MVC的目的就是将M和V的代码分离
  • MVC是单向通信,也就是View和Model,必须通过controller来承上启下。
  • MVVM实现了View和Model的自动同步,当Model的属性改变时,不用再自己手动操作DOM元素,提高了页面渲染性能。

什么是 MVVM?MVVM和 MVC 有什么区别?什么又是 MVP ?

四、什么是MVP?

MVP 模式与 MVC 唯一不同的在于 Presenter 和 Controller。
在 MVC 模式中使用观察者模式来实现当 Model 层数据发生变化的时候,通知 View 层的更新。这样 View 层和 Model 层糖合在一起,当项目逻辑变得复杂的时候,可能会造成代码的混乱,并且可能会对代码的复用性造成一些问题。
MVP 的模式通过使用 Presenter 来实现对 View 层和 Model 层的解。MVC 中的Controller 只知道 Model 的接口,因此它没有办法控制 View 层的更新,MVP 模式中,View 层的接口暴露给了 Presenter 因此可以在 Presenter 中将 Model 的变化和 View 的变化绑定在-起,以此来实现 View 和 Model 的同步更新。这样就实现了对 View 和 Model 的解耦Presenter 还包含了其他的响应逻辑文章来源地址https://www.toymoban.com/news/detail-424148.html

到了这里,关于什么是 MVVM?MVVM和 MVC 有什么区别?什么又是 MVP ?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【面试题】MVC、MVP与MVVM模式是什么?

     MVC模式 MVC是应用最广泛的软件架构之一,一般 MVC 分为: Model ( 模型 ) 、 Controller ( 控制器 ) 、 View ( 视图 ) 。 这主要是基于分层的目的,让彼此的职责分开。 View 一般通过 Controller 来和 Model 进行联系。 Controller 是 Model 和 View 的协调者, View 和 Model 不直接联系。基

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

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

    2024年02月11日
    浏览(57)
  • 浅谈下mvc和mvp、mvvm到mvvm+Jetpack

    作者:抓不住老鼠的猫 MVC MVC全名为Model-View-Controller,图解如下 View:负责与用户交汇,显示界面。 Controller:负责接收来自view的请求,处理业务逻辑。 Model:负责数据逻辑,网络请求数据以及本地数据库操作数据等。 在MVC架构中,Controller是业务的主要承载者,几乎所有的业

    2024年02月16日
    浏览(40)
  • Android面试题:MVC、MVP、MVVM

    MVC结构: 1.MVC(Model-View-Controller) 2.Model:对数据库的操作、对网络等的操作都应该在Model里面处理,当然对业务计算,变更等操作也是必须放在的该层的。 3.View:主要包括一下View及ViewGroup控件,可以是系统控件也可以是自定义控件。4.Controller:Android的控制层通常在Activity、Fragmen

    2024年02月11日
    浏览(42)
  • MVC和MVVM有什么区别

    MVC是后端的分层开发概念。其中: M:model,模型层。代表数据库中的数据源。 V:view,视图层。代表能看到的客户端页面,是根据模型数据创建的。 C:controller,控制层。代表业务逻辑,是模型层和视图层之间的桥梁,建立两者之间的关系。控制层本身是不会处理数据以及输

    2024年02月08日
    浏览(37)
  • 编程框架概述:MVC, MVP, MVVM, Flux/Redux, 和 Clean Architecture

            在软件开发中,选择合适的编程框架和架构模式对于构建可维护和可扩展的应用程序至关重要。初学者在面对多种架构选项时可能会感到困惑。本文将详细介绍五种流行的编程框架:MVC、MVP、MVVM、Flux/Redux和Clean Architecture。 MVC是一种将应用程序分为三个核心组件的架

    2024年01月20日
    浏览(55)
  • MVC、MVP、MVVM的成本角度结合业务,如何考虑选型?一文了解方方面面

    大家都知道,使用架构的目的是使程序模块化,做到模块内部的高聚合和模块之间的低耦合,使得程序在开发的过程中,开发人员只需要专注于一点,提高程序开发的效率。那么MVC、MVP、MVVM,该怎么选?在什么最省去开发时间和业务成本? 本篇来彻底理解MVC、MVP、MVVM这三个

    2024年02月10日
    浏览(36)
  • 安卓基础巩固(四):设计原则、安卓主流技术框架MVC/MVP/MVVM、设计模式

    模块化功能:使得程序模块化,即内部高聚合,模块之间低耦合 提高开发效率:开发人员只需要专注于一点(视图显示、业务逻辑、数据处理) 提高测试效率:后期测试时可以迅速根据报错反馈,定位到问题出现的位置。 六大设计原则是设计模式的理论,设计模式是设计原

    2024年02月06日
    浏览(53)
  • [架构之路-195]-《软考-系统分析师》- MVC、MVP、MVVM架构各自的优缺点

    目录 前言: 一、MVC 1.1 MVC的基本结构 1.2 MVC的工作流程 1.3 MVC的优缺点 二、MVP 2.1 MVP的基本结构 2.2 MVP的工作流程 2.3 MVP的优缺点 三、MVVM 3.1 MVVM的基本结构 3.2 MVVM的工作流程 3.3 MVVM的优缺点 MVC: 一个controller对应多个view,model可以直接通过view。从大锅烩时代进化,引入了分层

    2024年02月04日
    浏览(82)
  • MVC 和 MVVM的区别

    M(model数据)、V(view视图),C(controlle控制器) 缺点是前后端无法独立开发,必须等后端接口做好了才可以往下走; 前端没有自己的数据中心,太过依赖后台 M(model数据)、V(view视图)、VM(viewModel控制数据的改变和控制视图) html部分相当于View层,可以看到这里的Vi

    2024年01月25日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包