MVC 其实是 Model-View-Controller 的缩写,中文我们常常译作“模型-视图-控制器”。想象一下它就像是一个电视剧或电影的制作团队。
- Model(模型):这就像是电影的剧本,包含了所有的数据和逻辑,比如角色的名字,背景故事,还有剧情的发展。在编程中,模型就是处理和管理数据的地方,包括如何获取数据,如何修改数据等。
- View(视图):视图就像是电影的场景设计,它决定了用户看到的界面是什么样子的。在编程中,视图就是展示给用户看的界面。比如网页的布局,按钮的颜色等。
- Controller(控制器):控制器就像是电影的导演,它负责协调模型和视图,让它们能够配合得很好。在编程中,控制器就是处理用户的输入,然后指导模型和视图如何响应。
所以,MVC 就是这三个部分协同工作,提供一个流畅的用户体验。用户通过控制器发送请求,控制器告诉模型去处理数据,然后将处理结果展示在视图上,最后用户在视图上看到响应的结果。 伪代码示例: M:负责数据层
let Model={
data:{数据源},
create:{增加数据},
delete:{删除数据},
update(data){
Object.assign(m.data,data)//用新数据替换旧数据
eventBus.trigger('m:update')//eventBus触发'm:update'信息,通知View刷新界面
}
get:{获取数据}
}
V:负责视图层
let View ={
el:要刷新的元素,
html:'要显示在页面上的内容'
init(){
v.el:需要刷新的元素
},
render(){
刷新页面
}
}
C:负责事件操作
let Controller={
init(){
v.init()//初始化View
v.render()//第一次渲染页面
c.autoBindEvents()//自动的事件绑定
eventBus.on('m:update',()=>{v.render()})
//当enentsBus触发'm:update'是View刷新
},
events:{事件以哈希表的方式记录存储},
method(){
data=新数据
m.update(data)
},
autoBindEvents(){自动绑定事件}
}