MVVM和MVC的区别

一、MVC是开发客户端最经典的设计模式,在通常的开发中,除了简单的Model、View以外的所有部分都被放在Controller里面。Controller负责显示界面、响应用户的操作、网络请求以及与Model交互。这就导致了Controller:1.逻辑复杂,难以维护。2.和View紧耦合,无法测试。

二、什么是 MVVM:一个 MVC 的增强版,我们正式连接了视图和控制器,并将表示逻辑从 Controller 移出放到一个新的对象里,即 View Model。MVVM 听起来很复杂,但它本质上就是一个精心优化的 MVC 架构

Model层是数据传输对象。

ViewModel层,就是View和Model层的粘合剂,他是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其他各种各样的代码的极好的地方。说白了,就是把原来ViewController层的业务逻辑和页面逻辑等剥离出来放到ViewModel层。

View层,就是ViewController层和view,他的任务就是从ViewModel层获取数据,然后显示。

三、区别
1.MVC是后端的分层开发概念
2.MVVM是前端视图层的概念,主要关注于视图层分离
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。

MVVM是前端视图层的分层开发思想,主要把每个页面,分成了M、v和VM。其中,vm是MVVM思想的核心,因为VM是M和V之间的调度者

四、理解
M:这里的M保存的是每个页面中单独的数据(例如,发送AJAX从后台获取到的数据)
VM:它是一个调度者,分割了M和V,每当V层想要获取或保存数据的时候,都要由VM做中间的处理
v:就是每个页面中的HTML结构
M和V不能直接互相通信(即互不可见),例如不能把M中的数据直接渲染到V上,也不能修改V的时候直接把数据同步到M中,需要经过VM中间件
MVVM好处:前端页面中使用MVVM的思想,主要是为了让我们开发更加方便,因为MVVM提供了数据的双向绑定,其中双向绑定是由VM提供的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值