zoukankan      html  css  js  c++  java
  • 前端开发中的设计模式

    1、MVC设计模式

    MVC是一种设计模式,它将应用划分为3个部分:数据(模型)、展现层(视图)和用户交互(控制器)。换句话说,一个事件的发生是这样的过程:
    (1)用户和应用产生交互。
    (2)控制器的事件处理器被触发。
    (3)控制器从模型中请求数据,并将其交给视图。
    (4)视图将数据呈现给用户。

    V层是视图层,控制界面显示,将界面与数据连接。M层存放数据,处理逻辑,比如处理从数据库调用的数据,还有业务逻辑处理。C层用于连接M和V,Controller 负责显示界面、响应用户的操作以及与 Model 交互,比如操作DOM、对事件的监听。这就导致了Controller和 View 紧耦合、逻辑复杂,难以维护。

    2、MVVM设计模式

     MVVM与MVC最大的区别就是:它实现了View和Model的自动同步,也就是当Model的属性改变时,我们不用再自己手动操作Dom元素,来改变View的显示,而是改变属性后该属性对应View层显示会自动改变。

    由此和view层分开来,只是注重数据的改动即可。MVVM设计模式中最重要的就是实现了View和Model的自动同步,所以可以不用频繁地手动操作DOM元素。

     比如说Vue框架,Vue实例中的data相当于Model层,而ViewModel层的核心是Vue中的双向数据绑定,即Model变化时VIew可以实时更新,View变化也能让Model发生变化。 整体看来,MVVM比MVC精简很多,不仅简化了业务与界面的依赖,还解决了数据频繁更新的问题,不用再用选择器操作DOM元素。

    3、事件驱动

    JS是事件驱动的编程语言。业务逻辑主要是靠Dom元素上的事件绑定来驱动。

    事件是业务逻辑的推动者也是与对象交互的入口。每个事件都会有一个event对象,对象里面包含了各种你所想得到的信息。

    4、数据驱动

    数据驱动的意思就是由数据来驱动业务逻辑,重点关注数据的变动,当数据发生发生改变时,DOM元素也会随之发生变化。

    数据驱动的前提是事先将DOM与数据绑定,像vue这种就是将一个vue对象与一个DOM节点模板关联起来,这个DOM节点里所有子节点、所有节点属性,全都可以和vue对象中的data绑定,做到data中某个属性值变化时,相应DOM节点中对应的某个属性就变化。

    如此一来,关注点完全分离。分开设计页面DOM结构和数据结构,然后将DOM与数据结构做关联,之后所有的事件触发的都只是数据的变化,DOM会自动根据数据的变化做相应改变。

  • 相关阅读:
    13.线性回归
    12.scikit-learn中的Scaler
    11.数据归一化
    oracle之二表的几种类型
    oracle之二表和表空间的关系
    oracle之二数据字典表和动态性能视图
    oracle之二检查点
    oracle之二管理undo
    oracle之二归档日志
    oracle之二日志挖掘log miner
  • 原文地址:https://www.cnblogs.com/wenxuehai/p/10469569.html
Copyright © 2011-2022 走看看