MVC 三个对象分别做什么,给出伪代码示例
M - Model - 数据模型 - 负责操作所有数据
M = {
data1:{},
data2: {}
data3:{}
...
}
V - View - 视图 - 负责所有UI界面
V = `<div>xxxx</div>
<p>xxxx</p>
<span>xxx</span>
`
C - Controller - 控制器 - 控制其他
C = {
xxx: {
a.on('click', fn)
b.on('click', fn)
}
}
EventBus 事件总线
eventBus用来建立对象之间的联系,有三个API,on用来监听事件(可以是自定义事件),off用来取消事件,trigger用来触发事件。如何建立联系,在一个对象中通过eventBus.on监听某个事件, 在另一个对象中通过eventBus.trigger直接触发这个事件
伪代码:
c = {
say(){
eventBus.on('my_event', fn)
}
}
d = {
ok(){
eventBus.off('my_event', fn)
}
}
表驱动编程
在写项目过程中,有时候会出现大量类似,但并不重复的代码,如果一个一个写的话,一是会浪费时间,二是显得开发人员水平不高。开发人员应该将这些类似的代码,归纳总结,将需要的数据放到哈希表中,这样代码看起来更分明,并且可以通过遍历的方式调用,节省代码量。这也符合一个思想,就是写的更少,做的更多
如何理解模块化
在我看来模块化其实就是分类,将一个复杂的程序,按照不同的功能,分成一个一个小的模块,这些模块通过私有的数据实现,模块与模块之间是独立的,只向外暴露一个接口,通过这些接口把多个模块拼接起来,形成一个大的项目,