分别介绍MVC、MVP和MVVM是什么

mvc,mvp 和 mvvm分别是什么?mvc(model-view-controller)是最常见的软件架构之一,业界有着广泛应用。它本身很容易理解,但是要讲清楚,它与衍生的 mvp 和 mvvm 架构的区别就不容易了。

一、MVC

MVC模式的意思是,软件可以分成三个部分。

分别介绍MVC、MVP和MVVM是什么

视图(View):用户界面。

控制器(Controller):业务逻辑

模型(Model):数据保存

各部分之间的通信方式如下。

分别介绍MVC、MVP和MVVM是什么

1.View 传送指令到 Controller

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

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

所有通信都是单向的。

二、互动模式

接受用户指令时,MVC 可以分成两种方式。一种是通过 View 接受指令,传递给 Controller。

分别介绍MVC、MVP和MVVM是什么

另一种是直接通过controller接受指令。

分别介绍MVC、MVP和MVVM是什么

三、实例:Backbone

实际项目往往采用更灵活的方式,以 Backbone.js 为例。

分别介绍MVC、MVP和MVVM是什么

1. 用户可以向 View 发送指令(DOM 事件),再由 View 直接要求 Model 改变状态。

2. 用户也可以直接向 Controller 发送指令(改变 URL 触发 hashChange 事件),再由 Controller 发送给 View。

3. Controller 非常薄,只起到路由的作用,而 View 非常厚,业务逻辑都部署在 View。所以,Backbone 索性取消了 Controller,只保留一个 Router(路由器)。

四、MVP

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

分别介绍MVC、MVP和MVVM是什么

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

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

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

五、MVVM

MVVM 模式将 Presenter 改名为 ViewModel,基本上与 MVP 模式完全一致。

分别介绍MVC、MVP和MVVM是什么

唯一的区别是,它采用双向绑定(data-binding):View的变动,自动反映在 ViewModel,反之亦然。angular 和ember 都采用这种模式。。

以上就是分别介绍MVC、MVP和MVVM是什么的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2438664.html

(0)
上一篇 2025年3月3日 11:46:57
下一篇 2025年2月28日 10:16:27

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • jbl耳机怎么样配对详细介绍

    jbl的蓝牙耳机赢得了很多用户的喜爱,然而在入手了之后却不知道jbl耳机怎么样配对,其实非常的简单,还没有配对的伙伴可以来一起了解一下。 jbl耳机怎么样配对: 1、首先耳机成功的连接之后会亮起蓝色的灯光。 2、然后将左侧的耳机取出来即可开…

    2025年3月3日
    200
  • C#中委托和匿名委托的具体介绍

    这篇文章主要为大家详细介绍了c#委托与匿名委托的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本来是想写一篇《委托与lambda表达式的前世今生》,但仅委托部分已经写了很多内容,于是就此分开关于Lambda表达是的内容后续再写…

    编程技术 2025年3月3日
    200
  • wapi是什么东西详细介绍

    wapi这个名词用户们可能在使用网络得时候见到过,但是对于一部分人来说肯定都不知道wapi是什么,下面就带来了详细介绍,帮助不知道小伙伴去了解。 wapi是什么东西: 答:wapi是无线局域网鉴别和保密的基础结构。 这就像红外线和蓝牙等功能…

    2025年3月3日
    200
  • 有关UML的基础介绍

    uml是什么?      unified modeling language (uml)又称统一建模语言或标准建模语言,是始于1997年一个omg标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持…

    编程技术 2025年3月3日
    200
  • C#中值类型与引用类型的详细介绍

    这篇文章主要为大家详细介绍了c#中值类型和引用类型的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在C#中,值类型和引用类型是相当重要的两个概念,必须在设计类型的时候就决定类型实例的行为。如果在编写代码时不能理解引用类型和值类…

    编程技术 2025年3月3日
    200
  • Golang中的测试工具链介绍

    Golang中的测试工具链介绍 概述:在软件开发中,测试是保证代码质量和功能正确性的关键环节。Golang作为一门现代化的编程语言,提供了丰富的测试工具链,既方便又强大。本文将介绍Golang中常用的测试工具链,包括testing、go t…

    2025年3月2日
    200
  • Go语言中的Beego框架介绍

    Beego是一个基于MVC架构的Go语言Web框架,它提供了一整套的解决方案来简化Web应用程序的开发。Beego内置了很多功能模块,如路由、ORM、Session等,同时也提供了很多强大的工具和辅助函数,使得开发者可以更高效地开发Web应…

    2025年3月1日
    200
  • 华硕天选1右边风扇的品牌是什么?(华硕天选1右边风扇停止运转)

    华硕天选1右边的风扇是什么风扇 风扇的显卡是一种常见的硬件设备,用于散热和保持显卡的稳定运行。它通常由一台小型电动机驱动,通过旋转的叶片将热空气排出显卡周围的区域。显卡风扇的作用非常重要,特别是在高性能计算和游戏中。显卡在运行过程中会产生大…

    2025年2月28日
    100
  • 详细介绍电脑中的打印机驱动程序位置

    很多用户在电脑上安装了打印机驱动程序,但却不知道如何找到它们。因此,今天我为大家带来了详细介绍打印机驱动程序在电脑中的位置,对于还不了解的用户,快来看看吧 打印机驱动在电脑哪里找 重新撰写内容而不改变原义时,需要将语言改写为中文,不需要出现…

    2025年2月28日 互联网
    200
  • 请问ccsvchst.exe是哪种进程?

    ccsvchst.exe是一种常见的进程文件,它是symantec endpoint protection(sep)软件的一部分,而sep则是一款由著名的网络安全公司symantec开发的终端保护解决方案。作为该软件的一部分,ccsvchs…

    互联网 2025年2月28日
    200

发表回复

登录后才能评论