MVC 的相关的知识,内容会有偏颇,就当做一个笔记吧,内容包括 MVC 的概念、eventBus 的概念、表驱动编程、模块化。
一、MVC 的概念
MVC 是一种设计模式,使用一种抽象思维让代码看起来更舒服,它的每个模块都可以写成三个对象,分别是 M、V、C。
- M -- Model(数据模型)负责操作所有数据
- V -- View(视图)负责所有 UI 界面
- 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) 直接是修改数据,并刷新,不要了解底层是怎么取数据的。
四、表驱动编程
将数据统计放在一个位置,需要获取里面数据的时候,像表一样,一对一取出来。
五、模块化
一种将复杂代码分解为更好的可管理模块的方式。
「@浪里淘沙的小法师」