The following is a link to a free PDF book chapter on ASP.NET MVC. It is no secret that I am a big fan of ASP.NET MVC and I believe that it is one of the key new technologies that we should all be looking into sooner rather than later.
The following is a list of my personal beliefs regarding ASP.NET MVC and how I think it currently affects my day to day decisions as an application architect and developer.
- I believe it is easier to code with a strict separation of concerns using the ASP.NET MVC Framework.
- Duh! It is one of the goals of the MVC Pattern, but I still think it should be mentioned since this makes ASP.NET MVC the appropriate technology to use when working with multi-tiered enterprise applications.
- I believe it is easier to develop a Web 2.0 application using the ASP.NET MVC Framework.
- No viewstate, and strange ASP.NET WebForms control renderings that get in the way of using current web standards and top of the line AJAX frameworks like jquery, extjs, yui, and prototype.
- I believe it is easier to implement, and manage security in an ASP.NET MVC application.
- There is less exposure as security is managed at the controller method instead of the .aspx page.
- Implementing security trimming as an attribute rocks!! It is not a new idea by any means, but it should be noted that it provides you with the ability to move your security configuration out of the Web.Config file without having to go code crazy.
- I don't believe ASP.NET MVC is an environment for building RAD applications. So for small/medium projects and applications that are less prone to change over time, I would still recommend using ASP.NET WebForms.
Warning: I reserve the right to change my mind completely in the near future.
- No current UI designer support.
- No existing third party controls available.
- No need to be an Architecture Astronaut.
- Exception: If you are building a RIA application it makes perfect sense to use ASP.NET MVC as your JSON web services tier and you can use any third party controls developed for your presentation tier technology (Silverlight, Flex, Flash, Air, Ajax, etc.) while still maintaining a solid architecture.
Have fun reading the book,