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: `
<div>
...
</div>
`,
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)
}
}
表驱动编程是做什么的
表驱动编程旨在简化代码:即将代码段中不重复的部分记录在表中,让后遍历表中元素与至代码段重复部分组合形成完整的代码。之后添加或删除代码只需修改表中元素,而不需要对代码段做出修改。
这样做最主要的好处是减少了重复代码,方便修改代码。
关于模块化的理解
我理解的模块化是指,将代码中具有相同特性的代码片段集中封装在一个模块中。
这样做的好处有:
- 方便修改,当你修改一段代码时,你只需要找到对应模块修改即可,不需要考虑其他修改会对其他模块的代码产生影响。
- 提高代码的内聚性,降低耦合性。