• MVC设计模式
  • 简单认识EvenBus
  • 表驱动编程
  • 模块化

    一、MVC设计模式

    1. 为什么要有设计模式

    代码重复太多,相同页面重复写等。MVC设计模式就是为了解决代码重复,优化代码结构。

    2. 不学MVC会有什么情况

  • 会出现意大利面条式代码的情况,过于臃肿太长,代码重复率高,页面不整洁等。

  • 你会变成类似外包式程序员,每天重复干着重复的事情,不懂得提升自己,不会封装,不会造轮子。

3. 什么是MVC

将平时全部堆在一起的代码,进行分类管理,细分成一段段小代码。再将代码分种类,分别放入对应M模块、V模块、C模块。方面自己和他人阅读、开发。

M —— Model(数据类型)负责操作所有数据

  1. // 数据相关放入m中
  2. const m = {
  3. 数据1,
  4. 数据2,
  5. 数据3
  6. }

V —— View(视图)负责所有UI页面

  1. // 视图相关放入v中
  2. const v = {
  3. html代码,
  4. 渲染等
  5. }

C —— Controller(控制器)负责其他

  1. // 其他全部放入c中
  2. const c = {
  3. 事件,
  4. 添加,
  5. 修改等
  6. }

二、简单认识EvenBus

- 什么是EvenBus

EvenBus可以使用监听和触发事件,对所点实现通信。

- 监听和触发的两个API

  1. // 发送一个信息,用于给监听事件监听
  2. eventBus.trigger('我触发了')
  3. // 监听一个信息,若监听到了则执行
  4. eventBus.on('我触发了', 执行语句)

- EvenBus伪代码事例

声明eventBus

  1. const eventBus = $(window)

创建监听和触发事件

  1. 组件1 {
  2. ···
  3. eventBus.trigger('hereTrigger')
  4. ···
  5. }
  6. 组件2 {
  7. ···
  8. eventBus.on('hereTrigger',()=>{
  9. consolo.log('Receive message')
  10. })
  11. ···
  12. }

eventBus.trigger执行后,会把hereTrigger发送出去。
如果evenBus.on收到了信息与hereTrigger一致,那么就会执行consolo.log。
如果eventBus.trigger没有执行,那么eventBus.on将不会执行。

三、表驱动编程

- 定义

表驱动编程,又称之为表驱动、表驱动方法。 “表”是几乎所有数据结构课本都要讨论的非常有用的数据结构。表驱动方法出于特定的目的来使用表,程序员们经常谈到“表驱动”方法,但是课本中却从未提到过什么是”表驱动”方法。表驱动方法是一种使你可以在表中查找信息,而不必用很多的逻辑语句(if或Case)来把它们找出来的方法。事实上,任何信息都可以通过表来挑选。在简单的情况下,逻辑语句往往更简单而且更直接。但随着逻辑链的复杂,表就变得越来越富有吸引力了。
简单来说,将数据统计放在一个位置,需要获取里面数据的时候,像表一样,一一对应。

- 简单的例子

拿最常见的if语句来举例

  1. if(key = 'A'){
  2. 执行语句a
  3. }else if(key = 'B'){
  4. 执行语句b
  5. }else if...

改为表驱动编程来实现

  1. let table = {
  2. a: {
  3. action () {
  4. console.log("执行语句a")
  5. }
  6. },
  7. b: {
  8. action () {
  9. console.log("执行语句b")
  10. }
  11. }
  12. }
  13. function handleTable(key) {
  14. return table[key]
  15. }
  16. handleTable('a').action()

四、模块化

所谓模块化,就是一种将复杂代码分解为更好的可管理模块的方式。MVC设计模式就是一种模块化的体现,将代码分门别类的进行管理。

- 各自独立

在平时写代码的时候,可以将不同功能的代码,单独一个文件来写,然后通过导包导入到主程序中,那么当其中一个出现故障的时候,并不会影响到其他的代码。

- 分级启动

当加载的时候,可以分开加载。如果加载较慢的时候,可以优先加载重要的模块。