美文网首页
19.框架通识-MVC与MVVM

19.框架通识-MVC与MVVM

作者: 原来哥哥是万家灯火 | 来源:发表于2020-07-03 13:01 被阅读0次

框架到底实现了哪些东西,让维护和开发变得高效?
1.模板引擎
2.双向绑定
3.组件化
4.路由

1、2让开发工作变得高效,这才是最核心的
3让维护变得更简单,通过复用也间接对开发的高效有一定帮助
4让程序成为一个单页面应用,避免了大量重复的加载和渲染,但这应该是最不重要的

对MVC的理解
Typical_MVC_Paradigm.png

view用于展示数据,model用于存放、获取数据

controller用于view 、model之间的沟通,责任有4个:
用户点击页面,controller负责处理交互,更新model
view -> view controller -> model

  1. 处理交互,如用于点击后alert('hello')
  2. 更新model

如果model更新,controller负责处理原始数据,更新视图
model -> view controller -> view

  1. 处理model的原始数据
  2. 更新视图

可见controller的责任不少,特别是处理model原始数据,比如原始数据是一个数组,但是视图是需要显示为一个表格,这就需要处理。

let table = document.createElement('table');
for (let item of arr) {
 ...
}

再比如原始数据是'hello',需要展示的是'HELLO'。

controller中的业务将会非常多,以至于后来有人调侃MVC为Massive View Controller,意为"巨大的视图控制器"。

对MVVM的理解

MVC中,controller直接持有model,需要处理原始数据,造成controller冗长。
所以MVVM设计了view model,用来作为model和controller之间的桥梁,负责原始数据和要展示的目标数据之间的转化。controller不再持有model,只需要持有view model,把它当做数据源就行了。

用户点击,controller 负责处理交互,更新view model
view -> view controller ->view model -> model

  1. 处理交互,如用于点击后alert('hello')
  2. 更新view model

如果model更新,controller不再负责处理原始数据,只管更新视图
model -> view model -> view controller -> view

  1. 更新视图

MVVM中,view和view controller两个概念合在一起,同一叫view。所以,M还是指model,V指view + view controller,VM指view model
所以:
M负责保存、获取数据
V负责展示数据、处理交互、更新view model、更新视图。共4个责任。
VM负责处理model提供的原始数据、更新model


MVVM_high_level.png

相关文章

  • 19.框架通识-MVC与MVVM

    框架到底实现了哪些东西,让维护和开发变得高效?1.模板引擎2.双向绑定3.组件化4.路由 1、2让开发工作变得高效...

  • 五、MVVM

    一、什么是MVVM框架 MVVM框架是MVC框架的增强版。 MVVM描述的是一个基本结构,和MVC架构相比,MVV...

  • 余物宝Android组件化架构设计

    MVP MVVM框架引入 MVC框架现在项目还是采用的是mvc框架,在mvc框架下Activity和Fragmen...

  • 面试问题总结

    1. 说说对mvvm框架的理解。 mvvm框架有模型、视图、视图模型组成。它与mvc框架的区别在于,mvc模型、视...

  • 一个简单的mvp框架

    android中的各种框架 在主流的开发框架中,目前比较流行的框架有MVC,MVP,MVVM框架。 MVC MVC...

  • Android开发之浅淡MVI框架

    前言 在Android开发中有许多框架框架MVC、MVP和MVVM等,就MVVM框架更是被Google官方推荐,那...

  • vue

    一.Vue基础 MVVM框架 MVVM是Model-View-ViewModel的缩写。MVVM借鉴了MVC的思想...

  • [iOS] MVVM

    几种常见的架构,MVC、MVP、MVVM,下面说说区别以及MVVM代码 MVC 相信大家都熟悉这个框架,这个也是初...

  • Android MVVM + DataBinding的开发框架

    1.mvc,mvp,mvvm 前面讲了mvc和mvp的框架及其优缺点,如果说mvp是mvc的升级版,那mvvm算是...

  • Android开发人员应该知道的一些技术

    一、Android MVC、MVP以及MVVM框架模式 MVC开发框架 View:对应于布局文件和自定义View,...

网友评论

      本文标题:19.框架通识-MVC与MVVM

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