admin 管理员组

文章数量: 887021


2024年1月13日发(作者:单相异步电动机的结构)

MVC框架在联系人管理网站中的应用

作者:殷存举

来源:《科技视界》 2014年第17期

殷存举

(常州刘国钧高等职业技术学校,江苏 常州 213000)

【摘 要】在3.5 MVC框架下开发Web应用程序,与传统的Web Form技术有很大的差异。首先它需要分别开发对应的模型、控制器和视图,其次还需要理解URL路由的概念及其使用方法。本文通过使用 3.5MVC框架开发一个联系人管理网站,来说明如何构建模型、如何实现控制器及如何自动创建对应的视图。

【关键词】MVC框架;模型;控制器;试图

1 设计思想概述

1.1 什么是MVC

3.5 MVC框架基于MVC设计模式,MVC(Model View Controller)设计模式将一般应用程序根据功能的不同,划分为模型、视图和控制器三部分。

1)模型:是指在MVC设计模式中需要被显示的数据,一般情况下从数据库中读取数据到模型、并保存模型的状态,提供数据访问方法及数据的维护。

2)视图:是指用来显示模型的用户界面,本例的主页就是显示联系人信息列表的视图。

3)控制器:是指用来处理对用户的输入或者交互命令,以便改变模型的状态,控制模型在视图上显示对应的数据。

1.2 MVC之间的关系

在 3.5MVC框架中,模型、视图以及控制器之间的相互关系如图1所示。

从图中可以看出,当用户在浏览器中输入浏览器地址到获得页面的反馈信息,通常要经过以下5个步骤。

1)当用户在浏览器中输入浏览地址、发送页面请求时,实际上是向控制器发送相关的命令;

2)控制器接到用户的请求命令后,向模型请求获得相关的数据;

3)模型将对应的数据返回给控制器;

4)控制器再将模型返回的数据发送到指定的视图;

5)指定的视图呈现数据。

从上述5个步骤中可以知道,控制器在其中扮演着十分重要的角色,它不仅处理用户的请求,还实现与模型之间的交互,对指定的视图发送相关的命令,在实际的 3.5 MVC应用开发中,开发者主要的工作就是实现控制器的编码。

1.3 3.5 MVC框架约定的目录结构

通过项目模板 MVC WebApplication创建联系人管理网站LinkmanManager时,将模型、视图和控制器组件及其他内容分别放在不同的文件夹下,以便于开发者维护和管理,LinkmanManager网站的目录结构如图2所示。

从图中可以看出,Content文件夹存放静态文件,例如图片、样式文件等。Script文件夹则存放JavaScript文件,Models文件夹存放的是LINQ to Entities自动生成的代码文件;Views文件夹存放的是联系人管理的相关视图及公共视图;Controllers文件夹存放的是控制器组件。

2 设计过程详解

在开发基于 3..5 MVC框架的联系人管理网站时,首先构建模型,其次实现控制器,最后根据控制器中定义的方法生成视图。

2.1 使用LINQ to Entities构建模型

在“解决方案资源管理器”窗口中,选择项目内的Models文件夹,并单击右键,在弹出的快捷菜单中选择“添加”->“新建项”,打开“添加新项”对话框,在“添加新项”对话框中选择 Entity Data Model模板,在名称编辑框中输入。然后点击“添加”按钮,选择“从数据库”生成。然后选择tb_Linkman和tb_Categeory两个数据库对象,根据实体数据模型向导一步步生成实体数据模型。至此,基于 3..5 MVC框架的联系人管理网站的模型Models已构建完毕。

2.2 控制器

在 3..5 MVC框架中,控制器起着非常重要的作用,控制器处理用户的请求,将用户请求的URL路由,分发到控制器中对应的方法,而不是文件系统中某个对应的真实文件,这是 3..5 MVC应用程序与传统WebForm应用程序的区别之一。

在“解决方案资源管理器”窗口,选择项目中的Contorllers文件夹,单击右键,在弹出的快捷菜单中选择“添加”->“Controller”菜单项,打开“Add Controller”对话框,在对话框中输入“LinkmanCointroller”后单击“Add”按钮创建一个只包含Index()方法的联系人控制器类。

由于控制器接到用户的请求命令后,需要向模型请求获得相关的数据,所以首先得创建模型中数据访问类的实例。

实现获取联系人信息列表的方法。

实现根据唯一号取得对应联系人明细信息的方法。

实现添加联系人信息的方法。

实现修改联系人信息的代码。

(代码略)

2.3 创建视图

创建了控制器LinkmanController类后,就可以根据控制器类中的方法自动生成相关的视图页面。实现方法如下:

在控制器LinkmanController中,实现Index()方法的视图时在 “Add View”对话框的View content下拉框中选择“List”项;实现Create()方法的视图时选择“Create”项,实现Details()方法的视图时选择“Details”项,实现Edit()方法的视图时选择“View

content”下来框中的Edit项。

3 技术难点解析

3.5 MVC页面请求的执行过程介绍如下:

当执行基于 3.5 MVC框架开发的网站时,浏览器中的URL地址首先被传递到UrlRoutingModule模块,该模块首先对URL地址进行解析,然后选择相关的URL路由,并得到对应的IHttpContext对象来处理该URL路由。IHttpContext对象就是MvcHandler对象。通过MvcHandler对象,选择相关的控制器来处理用户的请求。运行过程如表1所示。

4 结语

3..5 MVC框架中个,URL被映射到一个控制器类中,该控制器处理用户的输入、选择适当的模型,获得相关的数据,最后调用视图组件显示指定的数据,并返回用户界面。传统的应用程序中,URL通常被映射为保存在磁盘上的一个文件(例如.aspx),而,因此,MVC框架要比传统的应用程序更易于单元测试,可扩展性更强。

【参考文献】

[1]尹安.基于MVC和XML的异构数据库集成系统设计与实现[D].华中科技大学,2006.

[2]徐枫.三层架构体系分析与应用[J].数字技术与应用,2011(08).

[3]战非.NET平台下基于LINQ三层架构的实现[J].电脑知识与技术,2010(11).

[责任编辑:薛俊歌]


本文标签: 控制器 模型 视图 联系人 方法