350 likes | 462 Views
ASP .NET MVC 3 and Some 4. JaxCodeCamp August 2011. Who Am I. David Fekke Software Engineer DMEa Develop iOS software http ://www.fekke.com/blog/ JaxDUG , JSSUG and JaxFusion. Woz. “Never trust a computer you can't throw out a window.”. 80 Percent Statistic.
E N D
ASP .NET MVC 3 and Some 4 • JaxCodeCamp August 2011
Who Am I • David Fekke • Software Engineer DMEa • Develop iOS software • http://www.fekke.com/blog/ • JaxDUG, JSSUG and JaxFusion
Woz “Never trust a computer you can't throw out a window.”
80 Percent Statistic • 80% software projects FAIL • 80% of development is done as code maintenance • 80% of statistics are completely useless
DJango Ruby On Rails Fusebox .NET Nuke JSF Struts Grials
Web Forms lends to Spaghetti Code • Difficult to maintain • IDs get renamed • Difficult to introduce Coding Standards
Tenets of Frameworks • Single Responsibility Principle • Convention over Configuration • SES and URL routing • Good use of Design Patterns • Work within Test Driven Development (TDD) • Enterprise Scalable Web Applications
MVC Design Pattern • Separation of Concerns • DRY - Don’t Repeat Yourself • Better concurrent development
New Project Types in VS2008, 2010 • Not replacing Web Forms • Built on top of ASP .NET • Automatic vs. Manual
What is Missing • Does not use Web Forms • No Form Controls • No Script Manager
Controller Classes • Controllers are a special class • Controller Class always will have ‘Controller’ in the name • Controllers contains action methods
Views • Views are simple • Use ViewData, ViewModel, ViewBag • JQuery libs included • Partial Views • Html helper class
Model • Anything you want • Enterprise Framework • ADO .NET • NHibernate • LINQ • Entity Framework
Testing • Framework built for Unit Testing • Test Suite, NUnit or any other test framework
Routing • Friendly URLs • /products.aspx?categoryid=8 • /products/puppies • Search Engine Safe (SES)
Razor View engine Better Binding and Model Validation Unobtrusive Javascript Hooks for Dependency Injection Nuget! ASP.NET MVC 3
Dependency Resolver Insert favorite DI framework here
ASP.NET MVC 4 Whats Next?
MVC 4 Roadmap • Recipes (Super Scaffolding) • Mobile Support • Template changes • AsycControllers (C# 5 asynchronous) • CSS & Javascript bundling • WebAPI
Orchard Project • .NET Sponsored Open Source Project • Content Management System • Built on MVC 3 • NHibernate • Project Castle • Autofac
http://asp.net/mvc • Codeplex • http://weblogs.asp.net/scottgu/ • http://bit.ly/mvc-ebook • http://bit.ly/mvcmusicstore • Nuget
davidfekke@gmail.com • http://www.fekke.com/blog/ • twitter.com/davidfekke