浅析 MVC

87 阅读1分钟

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

  1. Model 负责操作数据与服务器的交互,将请求到的数据传给Controller
const m = {
        data:{}
    }
  1. View 负责用户界面,HTML渲染
const v = {
        el:null,
        html:``
    }
  1. Controller 负责其他,用于控制应用程序的流程
const c = {
        init(){},
        bindEvents(){}
    }

2.EventBus 有哪些 API,是做什么用的

eventBus用来建立对象之间的联系,基本的API有三个,on用来监听事件(可以是自定义事件),off用来取消事件,trigger用来触发事件。主要用于对象间通信

class EventBus {
  constructor() {
    this._eventBus = $(window)
  }

  on(eventName, fn) {
    return this._eventBus.on(eventName, fn)
  }

  trigger(eventName, data) {
    return this._eventBus.trigger(eventName, data)
  }

  off(eventName, fn) {
    return this._eventBus.off(eventName, fn)
  }
}
export default EventBus

在另一个文件中导入并new一个EventBus对象

import EventBus from 'EventBus.js'
const e =new EventBus()
e.on()
e.trigger()
e.off()

表驱动编程是做什么的

  • 表指的是哈希表
  • 表驱动编程可以减少重复代码,只讲重要的信息放在表里,然后利用表来编程

我是如何理解模块化的

  1. 使代码低耦合性——功能模块直接不相互影响,各管各的

  2. 使代码方便维护和修改——视图层、数据层和控制层分开,结构清晰好理解

  3. 使代码提高可复用性——直接复制到下一个类似的新项目进行修改就可用