zoukankan      html  css  js  c++  java
  • Vue的概念介绍

    1)vue.js介绍

    1.1)基本概念

    1.1.1)Vue.js是目前最火的一个前端框架,React是最流行的一个前端框架,

    React除了开发网站,还可以开发手机原生App,Vue语法也是可以用于进行手机App开发的,需要借助于Weex。

    1.1.2)Vue.js是前端的主流框架之一,和Angular.js,React.js一起,并称为前端三大主流框架。

    1.1.3)Vue.js是一套构建用户界面的框架,只关注视图层,它不仅易于上手,还便于与第三方库或已有项目整合,

    Vue有丰富的配套三方类库,可以整合起来做大型项目的开发。

    1.2)官网

    英文官网:https://vuejs.org/

    中文官网:https://cn.vuejs.org/

    1.3)介绍

    1.3.1)Vue.js是一个渐进式框架,动态构建用户界面

    1.3.2)作者:尤雨溪  华裔  前Google工程师

    1.4)特点

    1.4.1)Vue.js是基于MVVM架构

    1.4.2)编码简洁,体积小,运行效率高,适合移动PC端开发

    1.4.3)它本身只关注UI,可以轻松引入vue插件或其他第三库开发项目

    1.4.4)参考了React的组件化和虚拟DOM技术,借鉴了angular的模板和数据绑定技术

    1.5)Vue的生态

    1.5.1)Vue.js  关注UI层面

    1.5.2)工具:DevTools,vue-cli:vue脚手架,vue-loader

    1.5.3)核心插件:vue-router:路由,vuex:状态管理,vue服务器端渲染,vue-resource(axios):ajax请求

    2)MVC,MVP,MVVM

    2.1.1)MVC概念

    M是指业务模型,V是指用户界面,C是指控制器;

    M即mode模型,数据层,负责数据的处理和获取的数据接口层;

    V即view视图,视图层,是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面;

    C即controller控制器,控制器层,它是Model和View之间的胶水或者说是中间人;

    MVC各个部分之间通信的方式:

    Models:数据层,负责数据的处理和获取的数据接口层;

    Views:展示层(GUI),对于web来说所有以html开头的文件基本都属于这层;

    Controller:控制器层,它是Model和View之间的胶水或者说是中间人;

    理论上:所有通信都是单向的。

    2.1.2)MVC好处

    耦合性低,重用性高,拓展性好,可维护性高

    2.1.3)MVC并不适用于前端

    2.1.3.1)前端的View其实已经具备了独立处理用户事件的能力,当每个事件都流经Controller时,这层会变得十分臃肿

    2.1.3.2)MVC中View和Controller一般是一一对应的,捆绑起来表示一个组件,视图与控制器间的过于紧密的连接让Controller和View都变得无法复用

    2.2)MVP概念

    MVP(Model-View-Presenter)是MVC模式的改良,由IBNM的子公司Taligen提出;

    和MVC的相同之处在于:Controller/Presenter负责业务逻辑,Model管理数据,View负责显示

    2.2.1)MVP特点

    在MVC里,View是可以直接访问Model的,但MVP中的View并不能直接使用Model,而是通过为Presenter提供接口,让Presenter去更新Model,再通过观察者模式更新View;

    与MVC相比,MVP模式通过解析View和Model,完全分离视图和模型,使职责划分更加清晰;

    View不依赖Model,可以将View抽离出来做成组件,它只需要提供一系列接口提供给上层操作;

    2.2.2)MVP存在问题

    Presenter作为View和Model之间的的“中间人”,除了基本的业务逻辑外,还有大量的代码需要对从View到Model和从Model到View的数据进行“手动同步”,这样Presenter显得很重。维护起来会比较困难。

    而且由于没有数据绑定,如果Presenter对视图渲染的需求增多,一旦视图需求发生改变,Presenter也需要改动

    2.3.1)MVVM概念

    MVVM(Model-View-ViewModel)最早由微软提出;ViewModel指”Model of View“--视图的模型;

    2.3.2)MVVM特点

    MVVM把View和Model的同步逻辑自动化了;

    以前Presenter负责的View和Model同步不再手动的进行操作,而是交给框架所提供的数据绑定‘功能进行负责,只需要告诉它View显示的数据对应的是Model哪一部分即可;

    通过ViewModel进行数据绑定,当Model发生变化,ViewModel就会自动更新;ViewModel变化,Model也会变化;

    2.4)总结

    整体上看,MVVM比MVC/MVP精简了很多,不仅简化了业务与界面的依赖,还解决了数据频繁更新的问题;

    在MVVM中,View不知道Model的存在,ViewModel和Model也察觉不到View,这种低耦合模式可以使开发过程更加容易,提高应用的可重用性;

    MVVM更适合视图更多的前端项目进行工程化开发;

  • 相关阅读:
    高效 告别996,开启java高效编程之门 问题
    高效 告别996,开启java高效编程之门 3-3实战:利用Lambda+Stream处理业务逻辑
    高效 告别996,开启java高效编程之门 3-2传统方式处理业务逻辑
    高效 告别996,开启java高效编程之门 3-1流式编程开场与案例场景概述
    无限树
    拖拽示例
    日期格式化字符串 字符串转化成日期
    loading
    It运维项目整理
    免费的二维码发布平台 http://zhifubao.masao.top:8282/assets/index.html
  • 原文地址:https://www.cnblogs.com/hyh888/p/12457087.html
Copyright © 2011-2022 走看看