MVC是一种架构模式,也是一种编程思想,它是Model(模型)、View(视图)和Controller(控制)的缩写,在结构上将程序分为三层:
- Model(模型):最下面一层,作为数据层,用于封装需要操作的数据及数据处理方法,它有对数据直接访问的权力,它不关心如何操作及如何显示;前端 Model 主要负责 AJAX 请求或者 LocalStorage 存储。
- Controller(控制):中间层,作为控制层,起到各层之间的组织作用,进行业务逻辑处理,能够操作数据及改变页面;前端Controller 负责处理 View 的事件,并更新 Model;也负责监听 Model 的变化,并更新 View
- View(视图):最上面一层,作为视图层,是用来显示数据给用户看的,不包含业务逻辑;前端 View 主要负责 HTML 渲染。
整体逻辑:
用户在浏览器端操作View,View通知Controller,Controller调用Model中的数据处理方法,Model与服务器进行请求与响应,将数据返回给Controller,Controller对数据进行处理后更新给View,View再重新展示给用户看
优点:
这三层紧密联系在一起,各层对外提供接口;但又是相互独立的,将功能划分,实现了模块化编程,同时每一层内部的变化不影响其它层,例如修改外观或者变更数据都不用修改其他层,大大方便了维护和升级