美文网首页
MVVM 与 MVC

MVVM 与 MVC

作者: 我向你奔 | 来源:发表于2018-03-12 11:21 被阅读27次

什么是MVVM框架?


MVVM是Model-View-ViewModel的简写,在MVVM的架构下,视图和数据是不能直接进行通讯的,它通常会通过ViewModel来做通讯,ViewModel通常要实现一个观察者,当数据改变时ViewModel可以观察到数据的变化,然后对你的视图做自动更新。而当用户操作视图,ViewModel也能监听到视图的变化,然后通知数据做改动,这实际上就实现了数据的双向绑定。

MVVM框架的应用场景

是针对具有复杂逻辑交互的前端应用;
提供了基础的架构抽象;
通过Ajax数据持久化,保证前端用户体验;

MVVM的好处

当前端和数据进行操作时,可以通过Ajax请求对后端做数据持久化,不需要刷新整个页面,只需要改动DOM中需要改动的数据的内容,刷新页面的代价太昂贵,会重新加载很多资源,虽然有些资源会被缓存,但是页面的DOM,css,js都会被浏览器重新解析。

MVC

MVC是一个架构模式,它分离了表现与交互。它被分为三个核心部件:模型、视图、控制器。下面是每一个部件的分工:

  • 视图是用户看到并与之交互的界面。
  • 模型表示业务数据,并提供数据给视图。
  • 控制器接受用户的输入并调用模型和视图去完成用户的需求。

MVC的完整流程

下面是MVC(模型、视图、控制器)架构的控制流程:

  1. 所有的终端用户请求被发送到控制器。
  2. 控制器依赖请求去选择加载哪个模型,并把模型附加到对应的视图。
  3. 附加了模型数据的最终视图做为响应发送给终端用户。

使用MVC的好处

分离了关注点。后台代码被移到单独的类文件,我们可以最大限度的重复利用代码。自动化UI测试成为可能,因为后台代码移到了.NET类。这让我们更容易做单元测试和自动化测试。

相关文章

  • MVVM in Swift

    参考文章: MVVM in Swift MVC 与MVVM的区别在MVC下ViewController中常常会包含...

  • 架构模式:MVC与MVVM

    本文探讨如下几个问题: 什么是MVC 什么是MVVM MVC与MVVM对架构属性的影响 MVC实例SpringMV...

  • MVVM和MVC有什么区别

    MVVM与MVC的区别有:1、mvvm各部分的通信是双向的,而mvc各部分通信是单向的;2、mvvm是真正将页面与...

  • 为何放弃MVC使用MVVM

    为何放弃MVC使用MVVM 为何放弃MVC使用MVVM

  • iOS 设计模式 一

    设计模式随记 系统架构模式 1. MVC - MVVM - MVP - MVVM、MVC协调版 MVC :...

  • MVC - MVVM 是什么

    MVC - MVVM 是什么 谈谈MVC模式 - 阮一峰 MVC,MVP 和 MVVM 的图示 - 阮一峰 MVC...

  • Android MVVM 解读 2.MVC, MVP, MVVM

    Android MVVM background info 包含的信息 MVC, MVP, MVVM的介绍 MVC,...

  • iOS-面试题6-架构

    目录: MVC-Apple MVC-变种 MVP MVVM 分层设计 架构与设计模式的区别 一. MVC-Appl...

  • MVC与MVVM

    MVC 最基本的还是 MVC,MVC 的问题在于 C 过于庞大。在最初编写代码的时候一个 C 有时候要上千行。传统...

  • MVC与MVVM

    一、MVC M:model,数据模型;V:view,视图,展示数据;C:controller,控制器,业务逻辑,是...

网友评论

      本文标题:MVVM 与 MVC

      本文链接:https://www.haomeiwen.com/subject/iwcnfftx.html