MVC理解

1.MVC全名是Model View Controller,表示模型层(model),视图层(view),和控制层(controller),是一种软件设计模式.

2.标题各部分之间的通信方式为:

  1. View传送指令到Controller

  2. Controller完成业务逻辑后,要求Model改变状态

  3. Model将新的数据发送到View,用户得到反馈
    如下图所示:
    MVC理解

3.MVC模式的这三个部分的职责非常明确,而且相互分离,因此每个部分都可以独立的改变而不影响其他部分,从而大大提高了应用的灵活性和重用性。

MVC的执行流程是有两种方式

  1. 通过View接收指令传递给Controller;
  2. 直接通过Controller接收指令;

但是实际项目中往往采用更加灵活的方式:

  1. 用户也可以直接向Controller发送指令(改变URL触发hashChange事件),再由Controller发送给view ;
  2. 用户也可以直接向Controller发送指令(改变URL触发hashChange事件),再由Controller发送给view ;
  3. Controller非常薄,只起到路由的作用,而View非常厚,业务逻辑都部署在View,所以有些框架里就直接取消了Controller,只保留一个Router(路由器)。

4.分层开发的特点:

  1. 下层不知道上层的存在,仅完成自身的功能,不关心结果如何使用
  2. 每一层仅知道下层的存在,而忽略其他层的存在,只关心结果的取得,不关心结果的实现过程

5.分层开发的优势:

  1. 职责划分清晰

  2. 无损替换

  3. 复用代码

  4. 降低了系统内部的依赖程度