浅析 MVC

737 阅读1分钟

MVC 的相关的知识,内容会有偏颇,就当做一个笔记吧,内容包括 MVC 的概念、eventBus 的概念、表驱动编程、模块化。

一、MVC 的概念

MVC 是一种设计模式,使用一种抽象思维让代码看起来更舒服,它的每个模块都可以写成三个对象,分别是 M、V、C。

  1. M -- Model(数据模型)负责操作所有数据
  2. V -- View(视图)负责所有 UI 界面
  3. C -- Controller(控制器)负责其他
const m = {
    data:{<数据>}
}
const v = {
    el: <容器>,
    html: `<html 代码>`,
    render(<刷新页面>),
    init(<初始化>)
}
const c = {
    events:{<事件>},
}

二、eventBus 的概念

如果把每个对象都当成一个点,那么 eventBus 用于专门收集每个点的事件,在 eventBus 上面绑定事件、触发事件、取消事件。

// 如果使用 jQuery
const eventBus = $('window')
eventBus.trigger('xxx')  // 触发事件
eventBus.on('xxx',<函数>)  // 绑定事件

如果定义 eventBus 类,在 MVC 实例的对象继承这个类,则可以直接在直接触发事件了,

三、view = render(data) 概念

render(data) 让我们写 JS 代码换了一种思维方式,面对过程编程的时,想要改变网页内容需要取元素、改元素、放回去。

render(data) 直接是修改数据,并刷新,不要了解底层是怎么取数据的。

四、表驱动编程

将数据统计放在一个位置,需要获取里面数据的时候,像表一样,一对一取出来。

五、模块化

一种将复杂代码分解为更好的可管理模块的方式。

「@浪里淘沙的小法师」