MVC模式

                         1.MVC的概念

1.1什么是MVC?

  MVC是一种架构型模式,它本身不引入新的功能,只是指导我们把web应用结构做的更加合理,实现逻辑与页面相分离。

(1)视图:我们能直观的看到的web界面。

(2)控制器:向系统发出指令的工具和帮手。

(3)模型:模型的工作是按要求从数据库取出数据。

1.2MVC解析

  在MVC模式中,应用程序被划分成了模型(Model)、视图(View)和控制器(Controller)三个部分。

  (1)模型部分包含了应用程序的业务逻辑和业务数据;

  (2)视图部分封装了应用程序的输出形式,也就是通常所说的页面或者是界面;

   (3)控制器部分负责协调模型和视图,根据用户请求来选择要调用哪个模型来处理业务,以及最终由哪个视图为用户做出应答。

1.3MVC包含三个部分和功能

(1)Model 

(I)封装应用状态   <-------封装数据(vo)

(II)响应状态查询   <--------获取数据(vo)

(III)暴露应用的功能 <---------逻辑层API

(2)Controller

(I)接收并验证HTTP请求的数据     <----收集数据,封装数据

(II)将用户数据与模型的更新相映射<-----调用逻辑层API

(III)选择用于响应的视图         <-----根据返回值选择下一个页面

(3)View

(I)产生HTML响应                 <------展示数据

(II)请求模型的更新              <------触发事件

(III)提供HTML form用于用户请求  <-----人际交互

 

 MVC中的模型和视图是分离的,解耦的,同一个模型可以对应多种不同的视图。

1.4 MVC组件关系图

                 2.相关理论知识

2.1  观察者模式初步

(1)Java中的Swing组件,是MVC模式最典型的体现,在Java中跟MAC模式相关的一种常见实现方式,就是采用观察者模式。

(II)观察者模式(也称发布-订阅模式)的定义:

定义对象间的一种一对多的依赖关系;当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动跟新。

2.2入口程序

  在网上经常被称为单一入口机制,单一入口指在一个web应用程序中,所有的请求都是指向一个脚本文件,例如我们经常看到某一个网站所有的页面都是index.php?xxxx这样的形式。所有对使用程序的访问都是必须通过这个入口。

                    3MVC理论深层次解释

3.1改进版MVC组件关系图

在实际开发Web应用的时候,大多数情况下是不会按照标准的 MVC去做的,通常我们都会把逻辑部分移动到逻辑层去做,那么Model就退变为只用来封装数据,也就是我们常写的VO;此时view一般不直接和逻辑层 去交互,所有跟逻辑层的交互都由控制器来做,view只和控制器交互。如下图所示:

3.2MVC工作流初步认识

(1)第一步:浏览者->调用控制器,对他发出指令。

(2)第二步:控制器->按指令选取一个合适的模型 

(3)第三步:模型->按控制器指令取相应数据

(4)第四步:控制器->按指令选取相应视图

(5)第五步:视图->把第三部取到的数据按用户想要的样子显式出来。

3.3MVC作用

(1)控制器的作用是调用模型,并调用视图。将模型产生的数据传递给视图,并让相关视图去显示。

(2)模型的作用是获取数据并处理返回数据。

(3)视图的作用是将取得的数据进行组织、美化等,并最终向用户终端输出。

posted @ 2016-04-04 16:16  黑塞矩阵  阅读(449)  评论(0编辑  收藏  举报