ASP.NET MVC: America's Next Top Model View Controller Framework
-
Upload
goodfriday -
Category
Technology
-
view
1.224 -
download
3
description
Transcript of ASP.NET MVC: America's Next Top Model View Controller Framework
top model Phil HaackSenior Program ManagerMicrosoft Corporation
A M E R I C A ’ S N E X T
view controller
Objectives and TakeawaysWhat’s in it for you?
Session Objectives Introduce you to this crazy new MVC thingConvince you that it’s not as crazy as it seemsNot bore you to sleep
Key TakeawaysASP.NET MVC puts you in full controlExcitement about ASP.NET MVCLack of Sleep
Urban Myth Point of Clarification
ScottGu Wrote The First Prototype of ASP.NET MVC While Flying
A Plane
In
What is ASP.NET MVC?I ask myself this every night
A new Web Application Project
type
Simply an option
Not a replacement for WebForms
Builds on top ASP.NET
Manual vs Automatic Transmission
File | New
demo
What is MVC?
A design pattern
Acronym for Model ● View ●
Controller
Separation of concerns
What is MVC?
Step 1Incoming request routed to Controller
Request
Controller
What is MVC?
Step 2Controller processes request and creates presentation
Model
Controller
Model
What is MVC?
Step 3Model is passed to View
Controller
View
What is MVC?
Step 4View transforms Model into appropriate output format
Controller
View
What is MVC?
Step 5Response is rendered
Response
Controller
View
Framework Goals
Frictionless Testability
Tight control over <markup>
User/SEO friendly URLs
Leverage the benefits of ASP.NET
Conventions and Guidance
Separation of Concerns
Each component has one responsibility
SRP – Single Responsibility PrincipleDRY – Don’t Repeat Yourself
More easily testable (TDD)Helps with concurrent development
TLAs!
Clean URLs
REST-like
/products/update
/blog/posts/2008/08/12/mvc-is-cool
Friendlier to humans
Hack /product.aspx?categoryid=123 to
become
Becomes /products/kittens/
Friendlier to web crawlers
Search engine optimization (SEO)
Extensible
Replace any component of the systemInterface-based architectureVery few sealed methods / classes
Plays well with others
"Webby"
Supports PRG (Post-Redirect-Get)
Pattern
HaackOverflow
demo
Experiments in Transparency
Heavy community involvementForumsTwitter, Blogs, CodePlex
Trying out new ideasFunctional project templateIncludes unit tests and source on CodePlex
Experiments in Agility
Daily Triage Meetings and weekly design meetings94% Code Coverage/1209 unit testsShip early and often
The Road to RTM
Dec CTP 2007
Previews 2, 2.5, 3, 4, 5
BETA
RC 1RC 2
RTM!March 17 2009
Wow! 10 Releases!
ASP.NET>
MVCWeb Forms
Choosing Between MVC and WebForms
WebForms• Control ecosystem• State management• Design time support
ASP.NET• Services• Caching• Routing• Localization
MVC• Do it yourself• Separation of concerns•TDD• Extensibility everywhere
More control over details
Ready-to-use building blocks
Or…
Use Them Both!
Summary
Not a replacement for WebFormsAll about alternatives
ExtensibleAs simple or complex as it needs to be to suit your tasks
FundamentalPart of the System.Web namespaceIt’s still ASP.NET under the hood!
Resources
ASP.NET MVC - http://asp.net/mvc/ASP.NET on CodePlex - http://codeplex.com/aspnet/
ASP.NET MVC E-Book - http://bit.ly/mvc-ebook
Extended Forehead Edition!
Please Complete an Evaluation FormYour feedback is important!
Evaluation forms can be found on each chairTemp Staff at the back of the room have additional evaluation form copies
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.