浅析MVC

作者: RickyWu585 | 来源:发表于2021-04-14 00:53 被阅读0次

M V C分别是什么

  • M:即model,数据层面,该模块封装数据以及对数据的处理方法
  • V:即view,视图层面,该模块展示数据的状态
  • C:即control,当数据层面发生改变,视图层当然需要做出相应的变化,这些变化的执行过程就在control模块中

EventBus

  • eventbus用来进行对象间的通信
    常用api有 监听eventbus.on() 触发eventbus.trigger() 取消eventbus.off()
    用法:
  • 如果一个函数里有trigger,那么执行这个函数时,就会触发trigger
  • 相对应的在另一个地方会有on在监听,一旦监听到trigger执行了,那么就会执行on里面的函数
    以jquery为例
const eventBus = $(window)

m={
    f1() {
      ...
      eventBus.trigger('m:updated')
      }
}

v={
  f2() {
     eventBus.on('m:updated', ()=>{
      ...
    })
   }
}
//这样可以实现m 和 v之间的通信

表驱动编程

  • 表驱动编程一般用来优化有很多重复性多可读性差的代码。意义在于逻辑与数据的分离
    例如 if - else
function translate(term) {
    if (term === '1') {
        return '一'
    } else if (term === '2') {
        return '二'
    } else if (term === '3') {
        return '三'
    } else {
        return '???'  
    }
}

// 如果想添加一个新的名词翻译,需要再添加一个if-else逻辑,例如:
function translate(term) {
    if (term === '1') {
        return '一'
    } else if (term === '2') {
        return '二'
    } else if (term === '3') {
        return '三'
    } else if (term === '4') {   
        // 此处添加了一个新的名词翻译
        return '四'
    } else {
        return '???'  
    }
}

表驱动后:

function translate(term) {
    let terms = {
        '1': '一',
        '2': '二',
        '3': '三'
    }
    return terms[term];
}

// 如果想添加一个新的名词翻译,只需要在terms中添加一个新的表项,不需要修改整个逻辑
function translate(term) {
    let terms = {
        '1': '一',
        '2': '二',
        '3': '三'
        '4': '四'   // 添加一个新的名词翻译
    }
    return terms[term];
}

模块化编程

模块就是实现特定功能的一组方法。模块之间可以继承 引用。自己只需实现核心得业务逻辑即可。

相关文章

  • MVC 浅析

    MVC 一、MVC的概念 MVC是Model-VIew-Controller,就是模型-视图-控制器,这些都是什么...

  • Mvc浅析

    定义 Modle是数据模型,用于操作数据,一般结构如下: View是视图,负责所有的UI页面,一般结构如下; Co...

  • 浅析 MVC

    MVC是什么 MVC——用于解决页面代码过于重复的一个的设计模式(优化页面代码结构)。首先:MVC没有严格的定义。...

  • 浅析 MVC

    一、什么是MVC? M是modal(数据模型)的简称,它是用于操作所有数据 V是view(视图)的简称,它是用于负...

  • 浅析 MVC

    一、MVC是什么? MVC是一种设计模式(那设计模式又是什么呢?简单粗暴的说好用的东西就是设计模式),MVC能够使...

  • 浅析 MVC

    1MVC 三个对象分别做什么,给出伪代码示例 M-Model (数据模型),负责操作所有数据. V-View (视...

  • 浅析MVC

    一、MVC是什么? M 就是 model, 即数据模型,负责数据相关的任务,包括对数据的增删改查 V 就是view...

  • 浅析MVC

    M V C分别是什么 M:即model,数据层面,该模块封装数据以及对数据的处理方法 V:即view,视图层面,该...

  • 浅析 MVC

    一、 MVC 设计模式 1. 设计模式 设计模式,是通用代码(组织方式)的一种统称 2. MVC 是什么 MVC ...

  • 浅析MVC

    MVC没有严格的定义,M - Model(数据模型,负责封装数据以及数据的处理方法) V - View(视图,负责...

网友评论

      本文标题:浅析MVC

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