如何理解MVC和MVVM思想(一句话秒懂)

前言

其他文章说的太复杂了,我在这简化一下问题。

MVC模式

  1. 什么是MVC 模式?
    MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。
  2. MVC的主要配合流程
    MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)

MVC与MVVM的关系

所有的MVVM架构模式,本质上都是MVC架构模式,MVVM中的VM是MVC中C的一种进一步抽象方案

这种关系是什么产生的

由于一般公司都会将核心业务逻辑放在后端,所以实际上前端的主要工作是将后端给出来的数据,映射到页面上,即便有数据处理工作,也都是简单操作。所以我们发现,在曾经MVC架构模式下,C层的主要工作,大部分都是用来处理V和M的映射关系了,但是这一类C层的工作,又是有高度通用性的。比如,V和M之间的映射关系,主要其实就三种:

  • V向M数据映射
  • M向V数据映射
  • M和V互相映射

以上三种映射方案,前两种可以抽象为单向映射(绑定),最后一种是双向映射(绑定)。所以Vue就尝试将前端通用性的C层进一步细化为了VM层,免掉了大量前端model与view绑定的工作。换而言之,就是省掉了大量html标签数据与js数据之间的关系处理,让前端真正聚焦于M层怎么拿数据,和V层怎么排版页面。
当VM层被从C层剥离之后,C层只剩下一点简单的数据处理逻辑,不足为道,因此剩下这点儿C就被弱化了。

最后其实有个思考题,可以考虑下,为什么后端没有演化出MVVM架构呢?

参考资料

你对MVC、MVP、MVVM 三种组合模式分别有什么样的理解? - 木子教程的回答 - 知乎
https://www.zhihu.com/question/20148405/answer/2299264333

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值