MVC与MVVM

MVC是Model-View- Controller的简写:模型(model) 视图(view) 控制器(controller)

Model(模型):是应用程序中用于处理应用程序数据逻辑的部分。

View(视图):是应用程序中处理数据显示的部分。

Controller(控制器):是应用程序中处理用户交互的部分。

​ 模型(Model)指的是后端传递的数据。视图(View)指的是所看到的页面。C即Controller指的是页面业务逻辑。

​ mvc的好处主要有四点: 耦合性低; 重用性高; 部署快,生命周期成本低; 可维护性高

​ 但它同时也存在一些问题:不适合小型,中等规模的应用程序; 视图与控制器间的过于紧密的连接并且降低了视图对模型数据的访问

MVVM即Model-View-ViewModel的简写 :Model ---- View ---- VM(ViewModel)

​ **模型(Model)**指的是后端传递的数据。**视图(View)**指的是所看到的页面。**视图模型(ViewModel)**是mvvm模式的核心

​ mvvm的好处主要体现在两点:数据驱动 ; VM提供数据的双向绑定

MVC与MVVM的区别

​ 使用MVC的目的就是将M和V的代码分离,MVC是单向通信。也就是View跟Model,必须通过Controller来承上启下。MVC和MVVM的区别并不是VM完全取代了C,只是在MVC的基础上增加了一层VM,只不过是弱化了C的概念,ViewModel存在目的在于抽离Controller中展示的业务逻辑,而不是替代Controller,其它视图操作业务等还是应该放在Controller中实现;而MVVM是连接view和model的桥梁,它有两个方向:一是将模型(Model)转化成视图(View),即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将视图(View)转化成模型(Model),即将所看到的页面转化成后端的数据.实现的方式是:DOM 事件监听。这两个方向都实现的,我们称之为数据的双向绑定。

​ VVM实现的是业务逻辑组件的重用,使开发更高效,结构更清晰,增加代码的复用性。使开发更高效,结构更清晰,增加代码的复用性

MVC与MVVM的区别相关推荐

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

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

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

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

  3. MVC和MVVM的区别

    文章目录 前言 MVC 解释 M V C 下面看这张图 View和Controller的交互 Model和Controller的交互 MVVM 什么是MVVM MVVM的诞生 如何实现MVVM Con ...

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

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

  5. 什么是mvc和mvvm?以及mvc和mvvm的区别

    mvvm 和 mvc mvc mvc是一种代码架构设计模式,前端中的mvc最主要的作用就是将视图和数据模型进行分离 为什么需要mvc 也就是为什么需要将视图和数据模型进行分离 <select i ...

  6. 关于iOS中MVC和MVVM的区别和联系

    MVC 的历史 MVC,全称是 Model View Controller,是模型 (model)-视图(view)-控制器 (controller) 的缩写.它表示的是一种常见的客户端软件开发框架. ...

  7. MVC与MVVM区别

    MVC 在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑. MVC模型关注的是Model的不变,所以,在MVC模型里,Model不依 ...

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

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

  9. MVC和MVVM有什么区别

    一.MVC: MVC是后端的分层开发概念.其中: M:model,模型层.代表数据库中的数据源. V:view,视图层.代表能看到的客户端页面,是根据模型数据创建的. C:controller,控制层 ...

最新文章

  1. windows下查看dns缓存和刷新缓存
  2. IIS 承载的WCF服务失败
  3. 常见的java异常——java.lang.IllegalStateException: Ambiguous handler methods mapped for HTTP path...
  4. 部署支持php和Redis的Nginx服务器
  5. Codeforces D. Fair 多源BFS求最短路
  6. 云顶之弈机器人法爆_云顶之弈:六法机器人强势来袭,输出爆炸,网友:吃鸡必备...
  7. python email模块详解_python模块之email: 电子邮件编码解码 (一、解码邮件)
  8. 远程连接 速度慢 显示 正在连接到很久
  9. AcWing 894. 拆分-Nim游戏
  10. python加法运算符可以用来连接字符串并生成新字符串_中国大学MOOCPython语言入门网课答案...
  11. 2021年PMP考试模拟题9(含答案解析)
  12. 【关机程序】如何用代码实现关机
  13. Qt登录界面实现以及跳转不同界面
  14. nRF52 PWM 使用
  15. cad面积计算机,用cad计算多个面积的方法步骤
  16. Java微信支付API文档测试
  17. 【使用问题】密保邮箱接收不到验证码(解决办法)
  18. 关于DIY eGPU的使用配置心得
  19. 计算机鼠标的发展历史,键盘和鼠标的发展史是什么?
  20. OkHttp3基本使用

热门文章

  1. MongoDb随笔,PyMongo简单使用
  2. Set实现类性能对比
  3. ssh免密登陆机制示意图
  4. linux下gcc编译使用opencv的源文件时报错的处理:undefined reference to symbol '_ZNSsD1Ev@@GLIBCXX_3.4'
  5. 并发-分布式锁质量保障总结
  6. 新华智云基于MaxCompute建设媒体大数据开放平台
  7. 五分钟教你如何用函数计算部署钉钉群发机器人
  8. 《阿里巴巴Java开发手册》发布一周年!你不知道的背后故事!
  9. 阿里云大数据MaxCompute计算资源分布以及LogView分析优化
  10. 阿里云数据传输服务低价不低质,服务再升级