模式分类

架构模式

架构模式是一个系统的高层次策略,架构模式的好坏可以影响到系统的总体布局和框架性结构 。

设计模式

设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。是组成架构模式的基本单位。

码模式

代码模式是较低层次的模式,并与编程语言密切相关。代码模式描述怎样利用一个特定的编程语言的特点来实现一个具体设计模式。

MVC架构模式

起源

MVC架构最早是smalltalk语言研究团提出的,应用于用户交互应用程序中。

设计思想

MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照View、 Controller 、Model的方式进行分离,这样一个应用被分成三个层——视图层、控制层、模型层 。

模型

用于封装业务逻辑。

业务逻辑的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果给控制层,最后提交给相应的视图进行显示。模型的设计可以说是MVC最主要的核心。

视图

表示层。就是与用户实现交互的界面,通常实现数据的输入和输出功能。

视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务逻辑的处理。业务逻辑的处理由模型(Model)完成。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递 给控制再转到模型处理。

控制器

起到控制整个业务流程的作用,实现View层跟Model层的协同工作。

控制器(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给相应的模型处理,选择符合要求的视图返回给用户。

MVC架构模式的功能框图

 

p_w_picpath

 

MVC架构模式3个部分间的功能协作过程  
•终端用户通过该应用程序(视图)发出了一个请求,该请求被转发给控制器。
•控制器接收到请求后,会检查该请求,然后决定使用什么业务逻辑来处理该请求,这时控制器会将该请求转发给相应的模型。
•模型中包含处理该用户请求的业务逻辑,业务逻辑执行完毕后。将结果数据返回给控制器。
•控制器接收从模型返回的结果数据,并选择显示这些数据的相应的视图,并将视图返回用户。

MVC设计模式的实现

       随着MVC架构模式的兴起,各大公司纷纷推出了符合MVC架构思想的开发标准。由于smalltalk语言和java语言有很多相似性,所以SUN公司很早就把MVC架构思想融入了它们的开发标准中。 J2EE是最先应用MVC架构的平台,并成为一个事实上的标准。随后微软在自己的.NET平台中也开始融入MVC架构思想。

MVC架构模式在Java中的实现

  C/S模式用户交互式程序中的实现

p_w_picpath

流程

p_w_picpath

B/S模式用户交互式程序中的实现 

p_w_picpath

流程

p_w_picpath

MVC设计模式的优势

有利于程序的维护和功能的扩展。

有利于开发的分工。

有利于组件的重用。

MVC设计模式的缺点

1.增加了系统结构和实现的复杂性
对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性。

2.降低运行效率

回顾

模式的分类

MVC架构模式的起源与设计思想

MVC架构模式3个部分的功能及关系

MVC架构模式的实现

MVC架构模式的优缺点