美文网首页前端知识点
MVVM、MVC、MVP的介绍、区别和作用

MVVM、MVC、MVP的介绍、区别和作用

作者: 朝树 | 来源:发表于2019-07-25 08:25 被阅读63次

MVVM 是 Model-View-ViewModel 的缩写。mvvm 是一种设计思想。Model 层代表数据模型,也可以在 Model 中定义数据修改和操作的业务逻辑;View 代表 UI 组件,它负责将数据模型转化成 UI 展现出来,ViewModel 是一个同步 View 和 Model 的对象。

MVC是Model-View- Controller的简写。即模型-视图-控制器。M和V指的意思和MVVM中的M和V意思一样。C即Controller指的是页面业务逻辑。使用MVC的目的就是将M和V的代码分离。‘MVC是单向通信。也就是View跟Model,必须通过Controller来承上启下。MVC和MVVM的区别并不是VM完全取代了C,ViewModel存在目的在于抽离Controller中展示的业务逻辑,而不是替代Controller,其它视图操作业务等还是应该放在Controller中实现。也就是说MVVM实现的是业务逻辑组件的重用。

1. View 传送指令到 Controller

2. Controller 完成业务逻辑后,要求 Model 改变状态

3. Model 将新的数据发送到 View,用户得到反馈

MVP 模式将 Controller 改名为 Presenter,同时改变了通信方向。

1. 各部分之间的通信,都是双向的。

2. View 与 Model 不发生联系,都通过 Presenter 传递。

3. View 非常薄,不部署任何业务逻辑,称为"被动视图"(Passive View),即没有任何主动性,而 Presenter非常厚,所有逻辑都部署在那里。

相关文章

  • MVVM、MVC、MVP的介绍、区别和作用

    MVVM 是 Model-View-ViewModel 的缩写。mvvm 是一种设计思想。Model 层代表数据模...

  • iOS面试题

    1.MVC、MVP、MVVM的区别?MVC: MVVM: MVP: 2.自动布局有哪些?(1)Autolayout...

  • iOS:常见架构

    常见的架构有 MVC、MVP 和 MVVM。下面分别用代码做下演示。 MVC MVP MVP与MVC的区别在于:M...

  • MVC、MVP、MVVM

    MVC、MVP、MVVM 1、MVC和MVP的区别 区别在于MVC的MV之间可以通信,M的改变直接影响V的展示,不...

  • Android MVVM 解读 2.MVC, MVP, MVVM

    Android MVVM background info 包含的信息 MVC, MVP, MVVM的介绍 MVC,...

  • 2017-09-10-MVC,MVP和MVVM的区别和联系

    MVC,MVP和MVVM的区别和联系 1, MVC(Model-View-Controller)是最常见的软件架...

  • iOS面试题集合

    1.介绍iOS设计模式MVC,MVVM, MVP以及它们之间的区别? 2.简述内存管理 3.#import和#in...

  • MVC、MVP、MVVM

    MVC MVP MVVM 各种大神博客介绍:唐巧:被误解的 MVC 和被神化的 MVVM 组件化讨论《iOS应用架...

  • 杂谈: MVC/MVP/MVVM (一)

    前言 本文为回答一位朋友关于MVC/MVP/MVVM架构方面的疑问所写, 旨在介绍iOS下MVC/MVP/MVVM...

  • 杂谈: MVC/MVP/MVVM (一)

    前言 本文为回答一位朋友关于MVC/MVP/MVVM架构方面的疑问所写, 旨在介绍iOS下MVC/MVP/MVVM...

网友评论

    本文标题:MVVM、MVC、MVP的介绍、区别和作用

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