浅析 MVC

71 阅读2分钟
  • MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。这个模式认为,程序不论简单或复杂,从结构上看,都可以分成三层。最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操作界面,是程序的外壳。最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的数据或信息。中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。
class Model={
    data(){}    		
    create(){}  		//增加数据
    remove(){}  		//删除数据
    update(){}			//改变数据
    get(){}			//查看数据
}

class View={
    el: //关键元素
    html://页面
    init(){v.el:},//初始化
    render(){}//页面渲染
}

class Controller {
    init(){}// 初始化相关操作
    events:{}// 用户操作的事件
    bindEvent(){}// 绑定事件,响应用户操作
}
  • EventBus用于模块间的通讯, view 组件层面,父子组件、兄弟组件通信都可以使 eventbus 处理。
class EventBus { 
      constructor(){ 
          this._eventBus =$(window) }
          
      on(eventName, fn){ 
          return this._eventBus.on(eventName,fn) }
          //on监听事件
          
      trigger(eventName,data){ 
          return this._trigger.tiggger(eventName,data) } 
          //trigger触发指定事件
          
      off(eventName, fn){ 
          return this._eventBus.off(eventName,fn) }
          //取消事件
          
          }
          
export default EventBus

  • “表”是几乎所有数据结构课本都要讨论的非常有用的数据结构。表驱动方法是一种使你可以在表中查找信息,而不必用很多的逻辑语句(if else)来把它们找出来的方法。事实上,任何信息都可以通过表来挑选。在简单的情况下,逻辑语句往往更简单而且更直接。但随着逻辑链的复杂,表就变得越来越富有吸引力了。在JS中,表就是指哈希表结构,使用表驱动编程,能使重复冗余的代码变得稳定简洁。

  • 模块化是一种处理复杂系统分解为更好的可管理模块的方式。一个项目中不同的功能抽离出来划分模块,不同的模块实现不同的功能,模块之间互不影响。需要哪个模块就引入哪个模块,如果哪个功能要要修改,直接在对应的模块修改就好了,不需要关注其他模块。这样能够提升开发效率,方便修改和维护。对于团队开发来说,模块化用来分配开发任务,每个小团队负责相对应的模块,每个人负责更小的模块,模块之间只保留通信借口。对于开发效率,开发稳定度,代码维护等,这是必不可少的。