MVC理解
MVC模式简介
1.MVC全名是Model View Controller,表示模型层(model),视图层(view),和控制层(controller),是一种软件设计模式.
2.标题各部分之间的通信方式为:
-
View传送指令到Controller
-
Controller完成业务逻辑后,要求Model改变状态
-
Model将新的数据发送到View,用户得到反馈
如下图所示:
3.MVC模式的这三个部分的职责非常明确,而且相互分离,因此每个部分都可以独立的改变而不影响其他部分,从而大大提高了应用的灵活性和重用性。
MVC的执行流程是有两种方式
- 通过View接收指令传递给Controller;
- 直接通过Controller接收指令;
但是实际项目中往往采用更加灵活的方式:
- 用户也可以直接向Controller发送指令(改变URL触发hashChange事件),再由Controller发送给view ;
- 用户也可以直接向Controller发送指令(改变URL触发hashChange事件),再由Controller发送给view ;
- Controller非常薄,只起到路由的作用,而View非常厚,业务逻辑都部署在View,所以有些框架里就直接取消了Controller,只保留一个Router(路由器)。
4.分层开发的特点:
- 下层不知道上层的存在,仅完成自身的功能,不关心结果如何使用
- 每一层仅知道下层的存在,而忽略其他层的存在,只关心结果的取得,不关心结果的实现过程
5.分层开发的优势:
-
职责划分清晰
-
无损替换
-
复用代码
-
降低了系统内部的依赖程度