ASP.NET MVC For Smart People

Post on 23-Feb-2016

46 views 0 download

Tags:

description

ASP.NET MVC For Smart People. Scott Galloway, Program Manager, ASP.NET Microsoft Corporation scottgal@microsoft.com http://www.mostlylucid.net http://www.twitter.com/scottgal. What is ASP.NET MVC?. A new Web Application Project type Simply an option Not a replacement for WebForms - PowerPoint PPT Presentation

Transcript of ASP.NET MVC For Smart People

ASP.NET MVC For Smart PeopleScott Galloway, Program Manager, ASP.NETMicrosoft Corporationscottgal@microsoft.comhttp://www.mostlylucid.nethttp://www.twitter.com/scottgal

What is ASP.NET MVC?

• A new Web Application Project type• Simply an option• Not a replacement for WebForms• Builds on top ASP.NET• Manual vs Automatic Transmission

How was it developed?• Transparently• Regular source code releases on CodePlex• Previews 1 – 5, Beta, RC1, RC2. 8 releases!• Community feedback via forums,

StackOverflow, etc…• Agilely• 94% Code Coverage/1051 unit tests• Daily Triage Meetings and weekly design

meetings• Small agile team

What is MVC?

• A design pattern• Acronym for

Model ● View ● Controller• Separation of concerns

What is MVC?

Step 1Incoming request directed to Controller

Request

Controller

What is MVC?

Step 2Controller processes request and forms a data 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

Demo File->New

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 Principle• DRY – Don’t Repeat Yourself

• More easily testable• Helps with concurrent

development

Extensible

• Replace any component of the system• Interface-based architecture• Very few sealed methods / classes

• Plays well with others

WebForms are great …

• Mature, proven technology• Huge Third Party Control

Ecosystem• Scalable• Extensible• Familiar feel to WinForms

developers

… they have problems

• Abstractions aren’t very abstract• Difficult to test• Lack of control over markup• It does things you didn’t tell it to

do

Demo A real app (kind of)

Resources• Phil Haack’s blog:

www.haacked.com• ASP.NET MVC Site:

www.asp.net/mvc• Scott Guthrie’s blog:

weblogs.asp.net/scottgu• Rob Conery’s blog:

blog.wekeroad.com/