MVC

101 阅读2分钟

1.MVC是一个万金油,所有的页面都可以用MVC来优化代码结构。每个对象都可以分为三个模块。

  • M-Model(数据模型)负责操作所有数据
  • V-View(视图)负责所有UI界面
  • C-Controller(控制器)负责其它

2.最小知识原则

  • 引入模块越少越好
  • 需要知道的知识越少越好

3.view=render(data),所有的视图就是把数据渲染一下。

4.表驱动编程:把重要的数据做成哈希表。表驱动法就是一种编程模式,从表里面查找信息而不使用逻辑语句。

5.EventBus(对象间的通信),on监听函数,trigger触发函数,off取消监听。

6.mvc各模块:

  • m:分别是增、删、改、查。还有一个data存放数据
  • v:el、html、init(初始化)、render(渲染)。
  • c:init()、events()、autoBindEvents(自动的事件绑定)
  • 伪代码示例:
//数据层 Model
class Model{
  data:数据,
  getDate(){
   获取数据操作
  }
  update(data){
   数据更新操作
  }
}
 
//视图层 View
Class View{
  ele: 视图元素,
  //把视图元素渲染到页面中
  render()
 
}
 
//控制层 Controler
Class Controler{
  //获取Model的引用
  //获取View的引用
  m = getModel() 
  v=getView()
  //通知视图层更新数据,重新渲染
  v.render(m.data)
  ...
  //视图层的数据变化时候,通知数据层改变data
  m.update(newdata)
}

7.类:将代码封装成一个类,然后导出再进行导出调用,如下代码,此时creat()等方法都在Model的原型上。

8.继承:

9.我所理解的模块化,就是将公共属性抽取出来,封装成一个又一个模块,彼此之间相互通信却又不互相打扰。

10.ES6最新语法可选链(?.)。

console?.log?.(111)

11.解耦:多个模块依赖同一个模块,如果被依赖的那个模块需要替换,出于这一点,我们决定创造出一些中间模块。多个模块依赖中间模块,中间模块再依赖那个最终被依赖的模块。当需要替换最后那个模块的时候,我们重构中间模块就可以了。这样每个模块之间发生的事情不会影响到其他模块,甚至可以每个模块使用不同的框架。