浅析MVC

1.MVC模式

MVC模型对应着 Model(模型) View(视图) Controller(控制器) 构成的开发模式。

  • Model -- 与数据相关的集合
//model对象
const m = {
    data:{  //数据类
        data1 : 1,
        data2 : 2
    } 
    //跟数据相关的方法(增、删、改、查)
    create(){},
    delete(){},
    update(){},
    get(){}
}
  • View -- 与视图相关的集合
//view对象
const v = {
    el: null,   //操作的html元素
    //html元素
  html: `       
  
...
`, init() {}, //初始化视图 render() {} //渲染
  • Controller -- 除了Model与View之外的其他组件
//Controller对象
const c = {
  init(container) {},   //初始化所有
  events: {},           //事件表
  eventHandler() {},    //事件处理函数
  autoBindEvents() {}   //自动绑定事件
  }
}

EventBus 公共方法

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)
  }
}

表驱动编程是做什么的

表驱动编程旨在简化代码:即将代码段中不重复的部分记录在表中,让后遍历表中元素与至代码段重复部分组合形成完整的代码。之后添加或删除代码只需修改表中元素,而不需要对代码段做出修改。
这样做最主要的好处是减少了重复代码,方便修改代码。

关于模块化的理解

我理解的模块化是指,将代码中具有相同特性的代码片段集中封装在一个模块中。

这样做的好处有:

  1. 方便修改,当你修改一段代码时,你只需要找到对应模块修改即可,不需要考虑其他修改会对其他模块的代码产生影响。
  2. 提高代码的内聚性,降低耦合性。

你可能感兴趣的:(浅析MVC)