分享

MVC设计模式简介及ASP.NET MVC 3.0安装

 复杂网络621 2014-07-11

  1、MVC设计模式简介

  MVC是目前广泛流行的一种设计模式,MVC是Model-View-Controller的缩写,中文翻译为“模型-视图-控制器”。MVC是一种软件开发架构模式,在MVC模式中将软件系统分为模型、视图和控制器三个基本部分,它们之间相互独立又相互联系。

  1>、MVC设计模式结构

  MVC设计模式三个基本组成部分之间关系如下图所示:

  •  模型      负责对整个软件项目数据和业务的封装和惯例。
  •  视图      负责给用户传递信息,并收集用户提交信息。
  •  控制器   负责控制视图的展示逻辑。

  2>、MVC设计模式优点

  I、具有多个视图对应一个模型的能力。

  在目前用户需求快速变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。按MVC设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。

  II、由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。

  III、由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。

  IV、有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。

  3>、MVC设计模式缺点

  I、增加了系统结构和实现的复杂性。

  对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。

  II、视图与控制器间的过于紧密的连接。

  视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。

  III、视图对模型数据的低效率访问。

  依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。

 

  2、安装ASP.NET MVC 3.0

  ASP.NET MVC的官方网站为:http://www./mvc,这里我们选择先安装 Visual Web Developer Express ,再安装ASP.NET MVC 3.0。安装Visual Web Developer Express之后打开运行Microsoft Web Platform Installer,选择安装ASP.NET MVC 3.0。

 

  3、创建第一个ASP.NET MVC 3.0项目

  ASP.NET MVC 3.0安装成功后,打开Visual Studio 2010,选择创建ASP.NET MVC 3.0 Web应用程序。

  选择Internet Application应用模板

  4、ASP.NET MVC 3.0应用程序目录结构

  ASP.NET MVC 3.0应用程序创建成功后,程序目录结构如图所示:

  默认情况下,MVC应用程序目录结构包括以下文件夹。

  •  引用       包含项目运行所需的命名空间与程序集。
  •    App_Data       数据物理存储区。
  •    Content       用于保存项目内容文件,如css、图片等。
  •    Controller       用于保存控制器。MVC框架要求所有控制器的名称均已Controller结尾。
  •    Models       用于保存MVC Web应用程序模型类。此文件夹通常包括定义对象以及定义与数据交互所用的逻辑代码。通常,实际模型对象将位于独立的类库中。
  •    Scripts       用于保存应用程序用到的脚本文件。
  •    Views       用于保存视图。在Views文件夹中,每个控制器都具有一个文件夹,且该文件夹以控制器名称前缀命名。

  5、ASP.NET MVC 3.0核心命名空间

  创建ASP.NET MVC 3.0应用程序后,项目添加的引用如下图所示:

  与ASP.NET MVC 3.0核心相关的命名空间:

  •  System.Web.Routing    URL路由在该命名空间下提供了使用URL路由功能类,它可以将一个URL路由映射对应到Controller上,而不是映射到一个物理文件。
  •  System.Web.Extensions      ASP.NET Ajax的命名空间,在MVC中使用Ajax功能时需要引用。
  •  System.Web.Mvc      ASP.NET MVC最主要的命名空间。该命名空间包含一些类和接口,它们支持用于创建Web应用程序的ASP.NET MVC框架。该命名空间包含表示控制器、控制器工厂、操作结果、视图、部分视图以及模型编译等类。
  •  System.Web.Abstractions      该命名空间包含一些相关的基类,例如HttpContextBase和HttpRequestBase等。
  •  System.Web.DynamicData       该命名空间包含为ASP.NET动态数据提供核心功能的类。另外,它还提供允许自定义动态数据行为的扩展功能。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多