So what’s this ASP.NET MVC thing all about?

I’ve been hearing a lot of questions (both personally and from some online forums like Stack Overflow and ASP.NET Forums) from people trying to understand what ASP.NET MVC is and what are it’s benefits. So here’s my attempt to consolidate answers to many of the questions that I’ve heard.

First, MVC stands for Model-View-Controller. It’s a design pattern that’s been around for quite some time. Martin Fowler has a great article about ‘generic’ MVC here http://martinfowler.com/eaaDev/uiArchs.html.  ASP.NET MVC is a recent addition to the ASP.NET framework that provides for an out of the box implementation for ASP.NET web applications of the MVC pattern.

Using ASP.NET MVC, the web application is organized differently than with traditional ASP.NET Web Forms. There is a clear separation of concerns between the data, application logic, and view layers which mean each layer is more loosely coupled from each other. Performance is increased due to less code bloat. There is no view state in ASP.NET MVC and post backs are a thing of the past. Because the view is not at tightly coupled to the application code, generally, this provides for code that more easily testable, better web standards compliance and enhanced SEO support.

Some resources that can help you get started with ASP.NET MVC are:

http://www.asp.net/mvc/

http://msdn.microsoft.com/en-us/magazine/cc337884.aspx

Scott Hanselman’s blog: http://www.hanselman.com . Scott’s nerddinner.com site is an excellent example of using ASP.NET MVC and his talk from MIX09 is here http://videos.visitmix.com/MIX09/T49F

Rob Conery’s blog: http://blog.wekeroad.com/ Rob also has a great video series where he walks though the creation of the ASP.NET MVC Storefront Starter kit here http://www.asp.net/learn/mvc-videos/#MVCStorefrontStarterKit

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s