浅析 MVC

140 阅读1分钟

1、MVC 三个对象分别做什么

  • M:Model(数据模型)负责操作所有的数据
const m = {
    data:{},
    create(){增},
    delete(){增},
    update(){改},
    get(){查}
}
  • V:View(视图)负责所有 UI 界面
const v = {
    el:null,
    html:...,
    init(container){
        v.el = $(container)
    }
    render(){渲染 html}
}
  • C:Controller (控制器)负责其他
const c = {
    init(container){
        v.init(container)
        v.rander(m.data)
        c.autoBindEvenr()
    }
    events:{
        'click #add':'add',
        'click #minus':'minus',
        'click #mul':'mul',
        'clicl #divide':'div',
    }
    autoBindEvents(){
        for(key inc.events){
            const value = c[c.events[key]]
            const spaceIndex = key.indexOf(' ')
            const part1 = key.splice(0,spaceIndex)
            const part2 = key.splice(spaceIndex+1)
            v.el.on(part1,part2,value)
        }
    }
} 

2、EventBus 有哪些 API

  • on:用于监听事件
    • eventBus.on('m:updated',()=>{})
  • trigger:用于触发事件
    • eventBus.trigger('m:updated')
  • off:用于删除监听事件

3、表驱动编程是做什么的

  • 表驱动编程,通过使用数据结构的哈希表,从表里面查找信息而不是使用if...else...语句。能够消除代码里面重复次数过多的if...else...语句,让反复的代码变得更加简单,多用于逻辑性不强但是分支多的情况。

4、如何理解模块化

  • 使用模块化可以更好的实现代码的高内聚、低耦合原则,让模块与模块之间更加独立。
  • 想要修改某个模块代码时,可以单独修改该模块的内容而不会影响到其他的页面,想要更换使用的框架时也会更加的方便