MVC设计模式浅析

163 阅读2分钟

1.MVC是什么?

MVC是Model-View-Controller (模型-视图-控制器) 的缩写,是一种混合设计模式。这个模式首先是为了解决计算机发明的初期,用户界面太糟糕,都是命令行的问题。

在MVC中,存在三个模块,它们的功能分别是存储数据、展示视图、以及控制器。

Model对象:负责存储数据以及定义如何操作这些数据。

View对象:负责展示而且允许用户编辑来自应用程序的Model对象,View对象用来构建用户界面,与用户交互。

Controller对象:是Model对象与View对象的中间人,负责传递数据,监听各种事件,管理其他对象的生命周期等。

用到这种设计模式时,我们所创建的对象要分为:Model 对象,View对象和Controller对象。这三个模块之间可以通过接口进行通信。这样就实现模块化,修改外观或者变更数据都不用修改其他层,大大方便了维护和升级。
MVC设计模式解决了对象间耦合问题,使得程序易于复用、扩展和变更。

image.png

2.eventBus

当数据发生变化时如何让其他模块知道呢?这时就要引入EventBus。

const eventBus = $(window)
//其实就是一个jQuery对象,我们只用它其中的一些api而已
//只需要在 m数据模块中添加触发事件
eventBus.trriger('the_data_has_been_changed')
//并在c模块中添加监听事件,即可确定出数据的变化,并根据变化实现各种事件
eventBus.on('the_data_has_been_changed',()=>{ //监听事件
     v.render(m.data.xxx)
 })

3.表驱动编程

实际上就是当重复的代码过多时,可以将一些绑定的事情写在一个hash表中,通过遍历这个hash表来简化代码。