文章教程

20.2MVC模型的组成

9/17/2020 9:31:19 PM 人评论 次浏览

20.2 MVC模型的组成

MVC是一个设计模式,它使Web应用程序的输入、处理和输出分开进行。MVC Web应用程序被分成模型(Model——M)、视图(View——V)、控制器(Controller——C)3个核心部件。一个好的MVC设计,不仅可以使模型、视图、控制器高效完成各自的任务处理,而且可以让它们完美地结合起来,完成整个Web应用。

20.2.1 控制器

控制器(Controller)负责协调整个应用程序的运转,简单来讲,控制器的作用就是接受浏览器端的请求。它接受用户的输入并调用模型和视图去完成用户的需求,当用户单击Web页面中的超链接或发送HTML表单时,控制器本身不输出任何东西,它只是接收请求并决定调用哪个模型构件去处理浏览器端发出的请求,然后确定用哪个视图来显示模型处理返回的数据。

20.2.2 数据模型

通常,Web应用的业务流程处理过程对其他层来说是不可见的,也就是说,模型接收视图请求的数据,并返回最终的处理结果。

数据模型(Model)的设计可以说是MVC最主要的核心。对一个开发者来说,需要专注于Web应用的业务模型的设计。MVC设计模式把应用的模型按一定的规则抽取出来,抽取的层次很重要,抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,只是用来组织管理这些模型,以便模型的重构和提高重用性。从面向对象编程来讲,MVC定义了一个顶级类,再告诉它的子类有哪些是可以做的。了解这点对开发人员非常重要。

既然是数据模型,那么它就携带着数据,但数据模型又不仅仅是数据,它还负责执行那些操作这些数据的业务规则。通常会将业务规则的实现放进模型,这样保证Web应用的其他部分不会产生非法数据。这意味着模型不仅仅是数据的容器,还是数据的监控者。

20.2.3 视图

从用户角度说,视图(View)就是用户看到的HTML页面。从程序角度来说,视图负责生成用户界面,通常根据数据模型中的数据转化成HTML输出给用户。视图可以允许用户以多种方式输入数据,但数据本身并不由视图来处理,视图只是用来显示数据。在实际应用中,可能会有多个视图访问同一个数据模型。比如“用户”这一数据模型中就有一个视图显示用户信息列表,还有管理员用来查看、删除用户的视图。这两个视图同时访问“用户”这一数据模型。

在很多Web开发中都会使用模板来生成用户最终看到的HTML页面。关于模板的有关知识,将在20.3节介绍。

教程类别