1.1MVX模式是什么
MVC框架最早出现在Java领域,然后慢慢在前端开发中也被提到,后来又出现了MVP,以及现在最成熟的MVVM,下面我们来简单介绍一下各种模式。
1.1.1 MVC
MVC是应用最广泛的软件架构之一,一般MVC分为:
Model(模型)、Controller(控制器)和View(视图)。这主要是基于分层的目的,让彼此的职责分开,如图1-1所示。
View一般都是通过Controller来和 Model进行联系的。Controller是 Model和 View的协调
者,View和 Model不直接联系。基本联系都是单向的。
                                    

那么,用户操作应该放在什么位置,MVC 之间又会有什么变化,如图1-2所示。
                                        

用户(User)通过Controller来操作Model 以达到View的变化。

1.1.2MVP
MVP是从经典的MVC模式演变而来的,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View 负责显示。
在MVP中,Presenter完全把 View和 Model进行了分离,主要的程序逻辑在Presenter里实现。而且,Presenter与具体的View是没有直接关联的,而是通过定义好的接口进行交互,从而使得在变更View 的时候可以保持Presenter 不变。MVP通信方式如图1-3所示。
                                     

1.1.3MVVM
MVVM代表框架有:知名度相对偏低的Knockout、早期的Ember.js、目前比较火热的来自Google 的AngularJS,以及我们今天要讲的Vue.js。
相比前面两种模式,MVVM 只是把 MVC 的Controller和 MVP的 Presenter改成了ViewModel。View 的变化会自动更新到 ViewModel,ViewModel 的变化也会自动同步到View上显示。
这种自动同步是因为ViewModel中的属性实现了Observer,当属性变更时都能触发对应的操作,如图1-4所示。
                                   

Vue学习(一)从 mvx模式 到 mvvm模式相关推荐

  1. 前端笔记之微信小程序(二){{}}插值和MVVM模式数据双向绑定指令API

    一.双花括号{{}}插值和MVVM模式 1.1 体会{{}}插值 index.wxml的标签不是html的那些标签,这里的view就是div. {{}}这样的插值写法,叫做mustache语法.mus ...

  2. MVVM模式原理与实现

    MVVM模式原理与实现 序言 看到vue的框架是参考了mvvm的模式,因为概念有点模糊,所以我做了一定的搜索及学习,整理了以下文章. 参考的文章及网页网址在第四部分,整理的是我个人的理解和实践过程.如 ...

  3. 入门 vue 学习笔记

    Vue 学习笔记 学习资料来源:网易云Vue视频: ES6 语法 Vue 语法 Vue 组件使用 Vue 组件间通讯 Vue router Vue resource 目录 用 [TOC]来生成目录: ...

  4. Android的MvVM模式探讨: Databinding 与 ViewModel+LiveData+Repository对比

    Mvvm模式: Databinding 与 ViewModel+LiveData+Repository 作者:Yagami3zZ,转自:https://www.jianshu.com/p/e7628d ...

  5. 什么是MVVM模式?

    文章目录 前端的三大MV*模式: MVVM模式: ViewModel的作用: MVVM的组成部分: 前端流行框架: 前端的三大MV*模式: MVVM模式: MVVM是Model-View-ViewMo ...

  6. Silverlight入门系列]使用MVVM模式(1):MVVM核心概念

    MVVM模式是Model.View.ViewModel的简称,最早出现在WPF,现在Silverlight中也使用该模式,MVVM模式是对MVC模式的变种.哪儿变了?我认为MVVM和MVC的主要变化在 ...

  7. [Silverlight入门系列]使用MVVM模式(1):MVVM核心概念

    编辑器加载中...MVVM模式是Model.View.ViewModel的简称,最早出现在WPF,现在Silverlight中也使用该模式,MVVM模式是对MVC模式的变种.哪儿变了?我认为MVVM和 ...

  8. Mvvm模式: Databinding 与 ViewModel+LiveData+Repository

    前言: 本文主要是对常见设计模式的一些分析,以及讲述在Android项目中实现Mvvm模式的两种方式.通过Databinding或者ViewModel+LiveData+Repository如何实现M ...

  9. 什么是 MVVM 模式?

    一个常规软件或者 APP 一般都是服务于某种商业或者非商业述求,我们平常称为"业务需求".随着业务需求的扩张.一个软件会变得越来越庞大,越来越复杂.所以一般都会有一套完整的架构设计 ...

  10. vue实现多行数据提交_(Vue起步)3.Vue设计模式:MVVM模式

    ①公众号:王酱酱记 ②记录跟着文档学习Vue的一些关键点,持续更新.感兴趣的小白建议关注一下 ③Vue的MVVM模式与传统的MVC模式有什么区别呢?这道题被面试大大虐过,之前无知的我好惨,赶快看起来吧 ...

最新文章

  1. Windows安全软件长臂管辖的折中方案?
  2. 444 nginx_nginx 安全问题
  3. Spark MLlib学习
  4. ie不支持max-height的解决之法
  5. Hibernate学习之Hibernate注解总结
  6. MongoDB的存储结构及对空间使用率的影响
  7. 暗通道去雾算法的python实现
  8. cesium 漫游飞行_cesium 之三维漫游飞行效果实现篇(附源码下载)
  9. 【MFC开发(8)】下拉框控件Combo Box
  10. 如何从12306网站下载自己喜欢的手机铃声
  11. git pull 失败:Failed to connect to 127.0.0.1 port 10080: Connection refused
  12. Xcode自带的超好用的诊断工具
  13. 人人都会用的矢量设计软件,这6个不可不知道!
  14. 已有Android工程集成DCloud页面
  15. 用transform:scale();缩放
  16. Python OpenCv 车牌检测识别(边缘检测、HSV色彩空间判断)
  17. [Jzoj] 2198.简单数迷
  18. Arduino测试一块5路带自锁开关输入模块
  19. 好工具推荐系列:Windows系统查看各个进程/网速/CPU的软件(查看系统资源工具)
  20. 黑客基础——基础隐写术

热门文章

  1. Python数组索引
  2. 易语言服务器客户端网络验证,超强网络验证系统附远程服务支持库
  3. 如何使用plink进行二分类性状的GWAS分析并计算PRS得分
  4. python3爬虫实战一: 爬取豆瓣最新上映电影及画出词云分布
  5. 【Windows Server 2019】活动目录 (Active Directory) ——创建、删除和管理对象、容器和组织单位(OU)
  6. android后台前台切换,Android 把后台应用切换到前台
  7. 读书笔记—中国跑步指南
  8. ie ajax十分卡,解决JQuery .ajax 在IE下卡死问题
  9. 一文弄懂调节器的PID自整定原理和方法
  10. 有意思、值得思考的文章记录