Asp.Net MVC 入门篇——Overview
2008-05-24 00:35
483 查看
Introduction
MVC应该算是一个古老的Design Pattern了,无论是在win form程序还是web程序中,它的应用都是比较广泛的。MVC也是我在学校中学习到的第一个设计模式。终于,可以在Asp.Net中应用了。本文的例子所用的是ASP.NET MVC Preview 2,可以在这里下载。Create a new MVC project
菜单File->New Project ->Asp.Net Web MVC Application新创建的项目是一个完整的可以运行的Sample程序。
新创建的MVC Project和传统的Asp.net web application不同,MVC Project包含有如下四个文件夹:
Content Folder : 这个文件夹中放一些支持文件,如CSS等。
Controller Folder :这个文件夹中放所以的Controller文件
Models folder : 这个文件夹存放所有的data model文件,包括:LINQ to SQL DBML文件,Entity文件
Views folder : 存放所有的页面文件,包括master文件。Master等需要被共享访问的需要被放在一个Shared子文件夹中。
Advantages of an MVC-Based Web Application
把程序分为Model, View和Controller之后,更容易控制程序的复杂性没有了传统的Asp.Net中的viewstate和server端的form,使得开发人员可以实现对页面的完全控制。当然也失去了viewstate和server端form带来的各种好处
支持测试驱动开发
Features of the ASP.NET MVC Framework
应用程序的业务分离,支持测试驱动开发可扩展和支持插件的Framework。开发人员都可以根据自己的需要修改甚至替换Asp.Net MVC Framework的各个component,也可以以插件的形式开发自己的View Engine,URL Routing Policy等各种component。Asp.Net MVC Framework甚至支持依赖注入(Dependency Injection)和控制反转(Inversion of Control)等容器模式。
强大的URL-Mapping功能。使得URL地址更有意义(REST)。URL中不再包括文件扩展名。
对很多传统Asp.Net特性的支持。如<%=%>, user control等。
The MVC Framework and Postbacks
Asp.Net MVC 不再使用传统的Asp.Net Web Application的postback模式。取而代之的是,所有的客户端发回服务器端的request都会被映射到某一个controller类中,这使UI logic和business logic得以分离,从而有助于提高程序的可测试性。Understanding the MVC Project Execution Process
Request被发回服务器端之后,首先都由UrlRoutingModule对象来解析这个Request,并根据URL找到一个匹配的Router对象,之后由这个Router对象来处理这个Request。 MVC Application的处理流程:Initial Request: routers在Global.ascx中被添加到RouteTable中。
Routing:UrlRoutingModule找到匹配的Router对象,决定使用哪个controller,调用哪个action。
Map to controller: MvcRouteHandler会尝试通过routedata来创建controller的type name.
Create Controller
Execute Controller
相关文章推荐
- 1、ASP.NET MVC入门到精通——新语法
- 从零开始学习ASP.NET MVC 1.0 (一) 开天辟地入门篇
- ASP.NET MVC 入门2、项目的目录结构与核心的DLL[转]
- ASP.NET MVC Overview
- ASP.NET MVC入门(一)---MVC的Hello World
- 11、ASP.NET MVC入门到精通——AspnetMVC分页
- Intro to ASP.NET MVC 4 with Visual Studio [译二:入门]
- ASP.NET MVC 入门介绍 (上)
- ASP.NET MVC 入门5、View与ViewData
- [10] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序处理并发
- asp.net MVC入门
- ASP.NET MVC入门教程(三)文章评论内容的加载与显示
- ASP.NET MVC 入门5、View与ViewData
- ASP.NET MVC 入门 -- 3、Routing
- ASP.NET MVC编程入门--图片水印与缩略图(一)
- [转]ASP.NET MVC 入门8、ModelState与数据验证
- Easyui + asp.net mvc + sqlite 开发教程(录屏)适合入门
- 译文:使用MVC5的Entity Framework 6入门(六)——为ASP.NET MVC应用程序创建更复杂的数据模型
- asp.net mvc 入门经典文摘
- ASP.NET MVC 入门3、Routing