现在的位置: 首页 > 综合 > 正文

1.预备知识

2012年07月08日 ⁄ 综合 ⁄ 共 2654字 ⁄ 字号 评论关闭

第一部分     快速开发平台

 如果你从来没有接触过asp.netmvc,而且在综合使用它们之前,需要独立了解每一个概念那么请从第一部分开始。无论你是否在网站上(http://www.asp.net/mvc)学习过一些教程,都会发现第一部分的各个章节都非常容易掌握。但千万别认为第一部分只是为初学者准备的,我们将会快速学习如何创建第一个asp.net
mvc
项目,以及深入理解asp.net mvc所有核心概念。

在你开始学习第一部分之前,你需要安装ASP.NET MVC4Visual Studio 2012。(或早期的Visual Studio 2010)。

1章,作为初学者,我们将学习MVC模式的基本概念以及ASP.NET MVC对此模式的实现。第2章将带你实现一个经典的Hello
World
。接下来,第3章将会介绍MVC中的视图基础,其中包括创建强类型视图模型,以及Razor视图模板的一些特性。第4章介绍Controller的基本概念:请求处理、表单提交和向视图传递数据。

一旦你掌握了ASP.NETMVC基本概念,你就可以满怀信心的开始第2部分的学习,在第2部分将学到综合性更强的一些知识点。

1  ASP.NET MVC简介

 

内容摘要

  • Asp.net发展历程
  • MVC模式说明
  • Asp.net mvc3/4新特性

 

ASP.NET MVC是基于微软.NET平台的Web开发框架,可以帮助开发人员构建架构良好的Web应用程序,是开发Web应用程序除了ASP.NET
Web Form
技术之外,微软推出的另一种可供选择的技术。自从2007年发布第一个预览版之后,快速发展并逐步壮大。现今很多大型Web应用程序都使用ASP.NET MVC实现。

虽然微软一直长时间致力于改善Web开发的工具和框架,然而ASP.NET MVC在代码整洁、关注点分离和可测试性等方面,在先前的基础上做了一个很大的提升。

在本章,我们将简单学习微软Web开发平台的发展历程和MVC设计模式。最后,我们将涉及本书要介绍的ASP.NET MVC的一些新特性。如果你曾使用过以前版本的asp.net
mvc
,可以直接跳到第2章学习。

好,现在我们开始简单回顾一下微软基于.NET平台的web开发技术的发展历程。

1.1  准备内容

你在用微软平台开发Web应用程序时,可能或多或少的经历了以下痛苦,这取决于你何时开始开发Web应用程序。在上世纪90年代,开发人员使用运行在服务器端的可执行程序开发交互式网站。这些程序(CGICommon
Getaway Interface
,通用网关接口)是当时通用的技术)接收Web请求,同时创建Html响应。模板是专门定制的,开发、调试和测试程序非常困难。在90年代后期,微软在压缩了HTX模板和IDC连接器后,推出了ASPActive
ServerPage
),aspWeb应用程序引入了模板。服务器页面是html脚本和动态脚本的混合体。虽然这是很大的进步,但服务器页面变得很臃肿,而且这种混合编码方式使得程序的可读性下降。

2002年,微软发布了.NET Framework第一个版本,相对传统的asp开发,是一个很大的变革。

1.1.1     .NET平台

.NET对那些熟悉使用动态脚本进行ASP开发的程序员而言是一个提升。.NET引入了几种编程语言,这些语言都可以被编译成中间语言,都可以运行在CLR上。一开始这些语言包括C#,Visual
Basic.NET
J#。所有的都是强类型语言。

现在这些语言也在变革。在.NET Framework 4.0,以下语言可用:

  • C# 4
  • VB.NET 10
  • F#

除了这些语言,.NET 4引入了一个新的动态语言运行时(Dynamic LanguageRuntimeDLR),允许动态语言运行在CLR上面。这些语言包括:IronRubyIronPython(对RubyPython编程语言的开源实现。)DLR的一些特性现在也适用于传统的静态类型语言,如C#。图1.1展示了.NET平台各语言之间的关系。

                             

1.1 .NET语言和CLR关系

除了编程语言,.NET Framework还发布了框架类库(Framework Class LibraryFCL),其中包含了各领域开发的大量的类型,开发Web应用程序的ASP.NET类库只是这个集合中一部分。

1.1.2 ASP.NET Web窗体(Web Form

Asp.Net Web窗体是构建在核心asp.net类库之上的第一个Web开发框架。相比以前的ASP开发技术,ASP.NET有很大的不同。

Web窗体围绕事件驱动的页面生命周期构建,在页面呈现的过程中,将触发不同的事件。开发人员可以在页面生命周期的不同时刻(对应不同的事件)编写代码。用户接口元素被定义成控件(Control),每个控件自呈现,而且有各自的事件。对于使用VB6Windows
Form
开发的程序员一定熟悉这种开发方式,然而对于传统的Web开发者,一开始会很难接受,因为它封装了HTTP细节并尝试强制在无状态的Web上伪装出一个有状态模型。

Web窗体发布之初,服务器端的事件生命周期使得新闻组常常关注这些活动:迷惑的开发人员如何寻找“不可捉摸”的事件并在这些事件中添加少量代码,从而驱动页面工作的。Web窗体同时引入了ViewState,让你感觉起来整个模型是有状态的(实际是无状态的)。

这听起来不错,ViewState降低了软件开发复杂性。然而页面开始变大(达几百kb),因为整个应用程序的状态必须要存储在每个页面的产生的输出中。最佳开发方法被忽略,因为类似Visual
Studio
这样的开发工具,鼓励数据访问逻辑(如果SQL查询)嵌入在页面后台代码中。也许Web窗体框架的最大罪恶是所有的一切都紧耦合在System.Web命名空间中。你无法在后台代码文件中进行单元测试,我们可以看到一些遗留的Web窗体应用程序,Page_load方法中的代码甚至超过了好几个页面的长度。虽然早期版本的Web窗体模型有一些缺点,然而ASP.NET和越来越强大的.NET
Framework
,还是占据了大量的市场份额,有很多网站都是用ASP.NET开发的。已经证明了,当ASP.NETIIS结合运行在Windows平台上时,可以很轻松的支持大数据中心很多复杂的Web应用程序。

ASP.NET MVC框架的发布使得ASP.NET技术继续保持Web应用程序开发领域的领先位置。

 

抱歉!评论已关闭.