350 likes | 465 Vues
Explore the evolution of ASP.NET MVC 3, delve into its benefits and challenges, and discover the road ahead with MVC 4. Learn about MVC design patterns, separation of concerns, and scalable web applications. Uncover the advantages of MVC over Web Forms and embrace the advancements in Model-View-Controller architecture. Stay ahead of the curve with new features like asynchronous controllers, mobile support, and improved model validation. Dive into the world of NuGet, dependency injection, and building enterprise frameworks efficiently.
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