美文网首页
说说MVC与MVVM

说说MVC与MVVM

作者: 星旅星愿 | 来源:发表于2018-05-31 12:12 被阅读0次

MVC

MVC模式很多都熟悉,就是模型(M)-视图(V)-控制器(C)模式,大多都应用在网页开发上,比较典型的如SPRING MVC,就严格的遵循了MVC模式来进行开发。模型(Model)代表了应用程序的状态、更新、维护、查询后端数据库的数据以及一些其他的原始数据等。视图(View)就比较直观了,它定义了用户从应用程序所看到的一切。它包含了用户界面以及非可视的导出数据(如XML、JSON、CSV、HTML等)。控制器(Controller)接收从视图发送过来的事件然后传送给模型,模型处理这些事件并且同步模型中发生改变的东西到视图去。大致示意图如下:


MVVM

MVVM模式是从MVC模式改变而来的。大多数都支持MVVM实际上是基于MVC中的视图和视图的状态,但仍然和模型有互连的。在MVVM模式中,ViewModel取代了控制器。但ViewModel和Model的职责却不同了。大致示意图如下:



从图上可知,现在视图和模型是没有联系了,都是通过ViewModel来进行互连交互的。MVVM的核心就是“数据模型数据双向绑定”。也就是视图的数据变化会通过ViewModel马上修改模型的数据,同样模型的数据变化也会马上提现到视图上去。
通过对MVVM的进一步了解以后,我们可以将示意图表现如下:



从图上可以看出,视图和ViewModel是双向绑定的,视图数据改变后通过ViewModel来更新模型(Model)中数据,模型更新后通知(notify)ViewModel来将改变的数据变现在视图上。
当然,我更倾向于以下示意图中所示的,在View和ViewModel的双向绑定中隐式的引入了binder层;

参考:浅谈 MVC、MVP 和 MVVM 架构模式

相关文章

  • 说说MVC与MVVM

    MVC MVC模式很多都熟悉,就是模型(M)-视图(V)-控制器(C)模式,大多都应用在网页开发上,比较典型的如S...

  • [iOS] MVVM

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

  • 面试问题总结

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

  • MVVM in Swift

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

  • Promise学习资料 - 收藏集 - 掘金

    Flux 架构模式 - 前端 - 掘金 在说flux模式之前,我们先说说mvc和mvvm模式 MVC模式 ... ...

  • 架构模式:MVC与MVVM

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

  • 2019前端框架面试题 —— Round one

    1.说说MVC和MVVM分别是什么? MVC全名是Model View 。是Controller模型(model)...

  • 2019前端框架面试题 —— Round one

    (守望_2019) 1.说说MVC和MVVM分别是什么? MVC全名是Model View 。是Controlle...

  • MVVM和MVC有什么区别

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

  • 为何放弃MVC使用MVVM

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

网友评论

      本文标题:说说MVC与MVVM

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