MVC、EventBus、表驱动编程、模块化
MVC
MVC 是将整个代码分为三个大的模块M、V、C,每个模块负责不同的功能。
- M-Model(数据模型),负责操作所有的数据
- V-View(视图),负责所有的UI界面
- C-Controller(控制器),负责其他的功能
Model:{
data:{},
增(){},
删(){},
改(){},
查(){}
};
View:{
操作 DOM (){},
渲染页面(){}
};
Controller:{
事件(){}
}
EventBus
//EventBus的三个基础API
EventBus.$on(eventName,fn); //监听事件,若eventName发生,则fn
EventBus.$off(eventName); //移除监听事件
EventBus.$emit(eventName,参数); //触发事件eventName,并将参数传给fn
表驱动编程
我理解的表驱动编程是:将具有对应关系的key和value存储在hashTable中,通过找到hashTable中的key,即可完成对对应的value的操作,同时也可以通过遍历key方便的对所有的value进行操作。
适用于逻辑链复杂的场景
优点:
- 精简代码(逻辑链复杂的情况下)
- 代码可读性好
- 易于维护,增删逻辑链中的节点只需要操作hashTable即可
模块化编程
模块化(modular)编程,是强调将计算机程序的功能分离成独立的、可相互改变的“模块”(module)的软件设计技术,它使得每个模块都包含着执行预期功能的一个唯一方面(aspect)所必需的所有东西。
将具有相对独立功能或环境的代码块进行封装,并留出api,通过api即可方便的实现该代码块的功能
优点:
- 有效精简主程序的代码
- 易于维护
- 模块可复用