Paul Litwin Paul Litwin Deep Training & Fred Hutchinson Cancer Research Center
Paul Litwin Paul Litwin Deep Training & Fred Hutchinson Cancer Research Center
paul@deeptraining.com
twitter.com/plitwin
Paul Litwin
• Developer
● Focus: ASP.NET, ASP, VB, C#, SQL Server, …
● MCSD
● Microsoft MVP
● Programming Manger with
Fred Hutchinson Cancer Research Center (Seattle)
• Co-Founder and Senior Trainer
● Deep Training
• www.deeptraining.com
• Conference Chair/Speaker
● Chair, Microsoft ASP.NET Connections
● Member INETA Speakers Bureau
• Author
● Author/co-author of a dozen books, including…
• ASP.NET for Developers
• Access Cookbook, 2nd edition
• Access 2002 Desktop/Enterprise Dev Handbook
• AppDev SQL Server 2005 Reporting Services Course
Updated Slides & Samples Download
• What?
● What is ASP.NET MVC?
• Why?
● Why can’t I just use Web Forms?
● Why use ASP.NET MVC?
• How?
● How does it work?
● Show me how to build an app using it.
ASP.NET MVC
What?
ASP.NET MVC
Why?
Why Separate Concerns?
• Nothing…but…
● Web forms don’t allow as precise control over
“separation of concerns”
● Web forms are difficult to test
● Search engine optimization (SEO) issues
What Web Forms & MVC Have in
Common
• Both hosted in Visual Studio
• Both run on IIS
• Both use .aspx pages
● Both can use Master pages
● though you can use a different view engine if
you’d like in MVC (NHaml, Spark, Brail,
NVelocity, etc.)
• Both can use any data access framework
(ADO.NET, LINQ, Entity Framework, etc.)
ASP.NET MVC
How?
Basic Tenets of ASP.NET MVC
• Models
• Controllers
• Views
• Shared
• Content
• Scripts
Building MVC Application Demo
• Once you start on MVC path, you will find you will
find yourself getting pulled in deeper and deeper…
● How do I write good unit tests with good coverage?
● Do you use a different View engine?
● Do you use a unit test framework
● Do you use a mock framework?
● What about validation framework?
● What about dependency injection, inversion of
control?
● …
What About Me?