MVC、EventBus、表驱动编程、模块化

134 阅读1分钟

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进行操作。

适用于逻辑链复杂的场景

优点:

  1. 精简代码(逻辑链复杂的情况下)
  2. 代码可读性好
  3. 易于维护,增删逻辑链中的节点只需要操作hashTable即可

模块化编程

模块化(modular)编程,是强调将计算机程序的功能分离成独立的、可相互改变的“模块”(module)的软件设计技术,它使得每个模块都包含着执行预期功能的一个唯一方面(aspect)所必需的所有东西。

将具有相对独立功能或环境的代码块进行封装,并留出api,通过api即可方便的实现该代码块的功能

优点:

  1. 有效精简主程序的代码
  2. 易于维护
  3. 模块可复用