MVC:control负责调度,model和view没有直接联系(分层,职责明确、可重用但业务逻辑无法重用)

1.view(负责跟用户交互的页面)

2.control(接受请求->调用模型->根据结果派发页面并经过模型处理返回相应的数据)

3.model(完成业务逻辑)

MVVC:把control改变成viewModel(绑定view和v-model达成view与数据的强耦合)

view的变化会自动更新到viewModel,viewModel的变化也会自动同步到view上显示,通过数据来显示视图层【操作数据即操作DOM】

MVVC的优点:

低耦合:view可以独立于model变化和修改

可重用性:可以把一些视图逻辑放在一个viewModel里面,让很多view重用这段视图逻辑(一个viewModel也可以绑定到不同的view上)【动态模板】

独立开发:开发人员可以专注于业务逻辑和数据的开发,设计人员可以专注于页面的设计【关注点分离】

MVC和MVVC的区别

MVC的control演变成MVVC的ViewModel

MVVC通过数据来显示视图而不是节点操作

MVVC主要解决了MVC中大量的dom操作使得页面渲染性能降低加载速度变慢,影响用户体验和当 Model 频繁发生变化,开发者需要主动更新到View的问题

MVP中的P(presenter)可以相当于MVVM中的VM(view-model)

MVC与MVVC的区别相关推荐

  1. MVC和MVVC的一些区别

    前言 一.MVC 定义:Model(模型)-View(视图)-Controller(控制器),是一种将业务逻辑.数据.界面显示分离开来的软件设计模式,更偏向于后端. 目的:将模型和和视图代码分离,让同 ...

  2. 第四十五课:MVC,MVP,MVVM的区别

    前端架构从MVC到MVP,再到MVVM,它们都有不同的应用场景.但MVVM已经被证实为界面开发最好的方案了. MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/P ...

  3. MVC与MVVM的区别

    MVC与MVVM MVC是Model-View- Controller的简写:模型(model) 视图(view) 控制器(controller) ​ Model(模型):是应用程序中用于处理应用程序 ...

  4. Android 系统(77)---MVC,MVP,MVVM的区别

    MVC,MVP,MVVM的区别 一.MVC 软件可以分为三部分 1.Model:模型层,负责处理数据的加载或者存储  2. View:视图层,负责界面数据的展示,与用户进行交互  3.Controll ...

  5. 什么是mvvm和mvc?有什么区别?

    一.什么是mvvm? mvvm是model--view--viewmodel的简写,即模型-视图-视图模型,M(model)即数据模型,V(view)视图看到的页面,VM(view model)视图模 ...

  6. 什么是MVC和MVVC,以及它们的区别

    MVC是后端中的概念 MVVC中是前端概念 M (Model) 是data里数据(通过ajax等获取的数据) V (View) 是html结构 VM (ViewModel)是new vue 中 new ...

  7. mvc mvp mvvm的区别与联系_MVC,MVP,MVVM比较以及区别(上)

    MVC,MVP,MVVM都是用来解决界面呈现和逻辑代码分离而出现的模式,以前只是对他们有部分的了解,没有深入的研究过,对于一些里边的概念和区别也是一知半解.现在一边查资料,并结合自己的理解,来谈一些对 ...

  8. MVC与三层架构区别

    我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真相. 首先,它俩根本不是一个概念. 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. ...

  9. web开发与django认识 MVC和MVT的区别 路由的匹配

    文章目录 一.web开发 1.简介 2.客户端服务器请求过程 3.web开发思维 二.Django 1.Django简介 2.Django与flask的优缺点 3.Django的环境安装 4.virt ...

最新文章

  1. vivo统一告警平台建设与实践
  2. 能否向函数传递一个数组?
  3. 三十八、练习、Python判断一个信用卡号是否合理
  4. Java Enum 使用
  5. uva 1626——Brackets sequence
  6. “Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported“解决方法
  7. 深度优先搜索——选数(洛谷 P1036)
  8. mac os 编译android,Mac OS X 编译Android内核源代码
  9. 例解 autoconf 和 automake 生成 Makefile 文件[转+个人修改]
  10. .Net/C# 实现真正的只读的 Hashtable 类型的属性 (ReadOnly Hashtable Property)
  11. rabbitmq python高性能开发_RabbitMQ工作队列实现高性能任务的负载分发[Python实例]...
  12. wps无法打印_wps官方下载最新版_wps办公软件官方下载[办公软件]
  13. WinRunner介绍
  14. openwrt MT7621 支持512M内存
  15. 为什么要使用版本管理
  16. Spring的refresh()方法相关异常
  17. SAP内部培训效果考察表存档
  18. Re-parameterizing Your Optimizers rather than Architectures
  19. 你想要的宏基因组-微生物组知识全在这(19国庆特别篇)
  20. .net core 部署在windows 2008 server 64位上出现Http Error 502.5的解决方案

热门文章

  1. LCD不带显存,是如何内存映射屏幕。S5PV210SoC在内存中选一段内存存放颜色数据,通过配置将LCD控制器和这一段内存连接起来,构成映射关系,LCD控制器就自动从显存中读取像素数据传给LCD驱动器
  2. qcqa是什么职位_qa是什么意思工作职责(qa和qc哪个工资更高)
  3. XTU降压并实现开机自启
  4. 图片存储到webapp同级目录
  5. Ajax 发送json格式数据以及发送文件(FormData)和自带的序列化组件: serializers
  6. 破解 geetest(极验)的滑块验证码
  7. 全志T507系统烧录配置
  8. 【Linux】:shell循环语句
  9. java dump文件怎么生成和分析-JMAP用法
  10. Linux命令之echo命令