MVC是什么?

2021-03-15  本文已影响0人  Adder

1.MVC 三个对象分别做什么

1.Model: 放数据源和对数据的基础操作

// M => Model
let Model={
    data:{数据源A,B,C,D...},
    fn:增删改查等操作...
}

2.View: 放置视图相关的代码,原则上里面不应该有任何业务逻辑

// V => View
let View ={
    html:要显示在页面上的内容(A的名字,B的性别,C的年龄...),
    render:视图渲染逻辑....
}

3.Controller: 放置视图与模型之间的映射,原则上这里应该很薄,他只放一些事件绑定相关的代码(router),但并不实现真正的功能,他只是一个桥梁

// C => Controller
let Controller={
   'Fn拿A且改C': { Model.getA() , Model.updateC() }
   'Fn删B': { Model.deleteB() }
}

View 和 Model 并不是完全脱离的,还是有一些逻辑耦合,因为需要根据修改后的model重新刷新view. 难免view里面沾染一点model的结构.

2.EventBus 有哪些 API,是做什么用的,

用于模块间的通讯,view组件层面,父子组件、兄弟组件通信都可以使eventbus处理

const el = new EventBus();

// 注册一个名叫printHello方法,销毁之前有效
el.on('printHello', 这里写printHello方法的内容)    

// 调用名叫printHello方法
el.trigger('printHello', 这里可以传参数)  

// 销毁这个名为printHello的方法
el.off('printHello', 名为printHello的方法体(可不传))

3.表驱动编程是做什么的

根据HashMap键的唯一性,将需要做多情况的穷举和遍历查找的情况,转换成:类似查找excel表的形式,通过唯一的key值找到映射的目标内容;大大降低原来方法的复杂度

4.我是如何理解模块化的

看看阮一峰老师怎么说:《谈谈MVC》

上一篇 下一篇

猜你喜欢

热点阅读