ASP.NET MVC架构开发

来源:互联网 发布:cf手游免刷枪软件下载 编辑:程序博客网 时间:2024/05/22 02:13

 MVC(Model-View-Controller,模型-视图-控制器模式)用于表示一种软件架构模式,它把软件系统分为3个基本部分,即模型(Model),视图(View)和控制器(Controller)。在实际网站开发的过程中,通常希望保持交互操作界面的相对稳定,但是有些情况下需要根据实际情况改变和调整显示的内容和形式,ASP.NET技术结合MVC设计模式很好地解决了上述问题。

MVC由Trygve Reenskaug提出,是“Model-View-Controller”的缩写,中文翻译为“模式-视图-控制器”。MVC很好地实现了数据层与表示层的分离。MVC通常用于分布式应用系统的设计和分析中及确定系统各部分间的组织关系。MVC把交互系统的组成分解成模型、视图、控制器三种部件。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其他依赖于这些数据的视图都应反映这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示更新。这实际上是一种模型的变化-传播机制。

视图部件:负责页面的呈现,包括样式控制、数据的格式化输出等,适用于从模型中获得显示信息,对同一信息可以有多个不同的显示形式或视图。
控制器部件:负责处理页面的请求,再给用户呈现相应的页面。控制器接收用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。
模型部件:负责与数据库进行交互,在ASP.NET MVC框架中,使用LINQ进行数据库连接和操作。它封装了问题的核心数据、逻辑和功能的计算关系,它独立于具体的界面表达和I/O操作。
 ASP.NET MVC开发模型是为ASP.NET Web开发来服务的,ASP.NET MVC为ASP.NET Web开发进行了良好的分层,也就是说ASP.NET MVC开发模型是建立在ASP.NET Web开发基础上的。ASP.NET MVC是微软推出的最新的ASP.NET Web开发模型,开发人员可以在微软的官方网站上下载ASP.NET MVC安装程序。
控制器负责用户与MVC应用程序交互的方式。当用户发出浏览器请求时,控制器决定向用户发回什么样的响应。控制器不过是一个类(如一个Visual Basic或者C#类)。在ASP.NET MVC中不是令分发器去寻找一个控制器并执行之,而是直接到达视图并且在继续生成视图之前调用相应的控制器。与传统的MVC模式中的前端控制器对应,这种模式称为页面控制器。 控制器可以分为前端控制器和页面控制器,页面控制器相对来说更加模块化一些,但是良好的面向对象设计也可以实现一个模块化的前端控制器。
创建完ASP.NET MVC应用程序后,系统会默认创建一些文件夹,这些文件夹不仅包括对应ASP.NET MVC开发模型的Models、Views和Controllers文件夹,还包括配置文件Web.config、Global.aspx和Default.aspx。这些文件夹和文件共同构成了ASP.NET MVC应用程序的整体结构。
在ASP.NET MVC应用程序开发过程中,需要使用页面驱动来启动MVC程序。当用户访问网站的时候,会通过Default.aspx页面来驱动ASP.NET MVC应用程序,执行相应的处理和生成,这也是在创建ASP.NET MVC应用程序之后,网站会默认生成Default.aspx页面的原因。
在Default.aspx页面中,其页面代码如下。
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
Inherits="demoMVC._Default" %>
2 <%-- Please do not delete this file. It is used to ensure that ASP.NET MVC is
activated by IIS when a user makes a "/" request to the server. --%>
Default.aspx只是用于MVC应用程序的驱动。Default.aspx使用IHttpHandler类获取和发送HTTP请求。
在ASP.NET MVC应用程序创建之后,会自动生成一个名为Global.asax的全局配置文件,而整个MVC应用程序的路径配置,就是通过Global.asax来实现的。
public class GlobalApplication : System.Web.HttpApplication
11    {
12        public static void RegisterRoutes(RouteCollection routes)
13        {
14            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
15
16            routes.MapRoute(
17                "Default",                                      // Route name
18                "{controller}/{action}/{id}",                      
  // URL with parameters
19                new { controller = "Home", action = "Index", id = "" }
   // Parameter defaults
20            );
21
22        }
23
24        protected void Application_Start()
25        {
26            RegisterRoutes(RouteTable.Routes);
27        }
28    }
Models、Views和Controllers文件夹是ASP.NET MVC开发模型中最为重要的文件夹,Models、Views和Controllers分别用于存放ASP.NET MVC应用程序中Models、Views和Controllers的开发文件。在创建ASP.NET MVC应用程序后,系统会自行创建相应的文件,运行ASP.NET MVC应用程序后,用户的请求会发送到Controllers控制器中,Controllers控制器接受用户的请求并通过编程实现Views页面文件的映射。

原创粉丝点击