ASP.Net MVC Book Review and musings
ASP.Net MVC musings
- ASP.Net MVC is a CoC MVC framework, it’s not a “full stack” framework. You still need to implement some type of database layer.
- Traditional ASP.net web forms attempts to hide the core parts of web development HTML, JS, CSS. ASP.Net MVC does not.
- Learning a pattern like MVC in web framework that allows developers to be aware of HTML, JS, CSS will only benefit you as a web developer.
- If you actually understand how web pages work it makes you a better debugger and a more well rounded programmer. You are able to more easily apply your knowledge and skill set to other languages/platforms. I know that some web form developers do know the details of web development, but in my opinion most do not.
- The fact that ASP.Net MVC makes it easier to test will not appeal to people who have never written a unit test in their life. You have to convince such people by showing a real world example demonstrating how test coverage can save you loads of time and money in the maintenance phase of application development. But at that point you will only get architects and project managers to buy in, the lazy developers that fear learning anything new will still avoid ASP.Net MVC like the swine flu.
- The fact that the MVC pattern is a common pattern among other web development environments such as Java and PHP will also not appeal to most Microsoft developers. However the really smart ones will realize that more common knowledge will only help if you ever have to do any type of development other than microsoft development
Book Review – Pro ASP.Net MVC Framework – Steven Sanderson

Book on Amazon I am a Java, PHP, and .Net developer which may make my opinion worthless to some Microsoft zealots but I thought I would type up my thoughts on this book anyway. Overall I found this book to be a great way to learn ASP.Net MVC. It has great examples and enough background material to bring people new to the MVC pattern up to speed. Below are my pros and cons along with notes on chapters 1-13.
Note about the cover.
One thing I found interesting is that the cover says “Discover the biggest innovation in Microsoft web development since asp.net 1.0″. I find it amusing that something as old as MVC web frameworks can be called an innovation for asp.net development since MVC frameworks are nothing new to web development. Heck they are not even new to ASP.Net development. See MonoRail .
Pros
- Provides good definition of MVC and explains why you want to use it
- Overall all the examples are clear and concise
- Gives examples of how to test every part of ASP.Net MVC
- Moves quick enough for someone with MVC experience and slow enough for someone with no MVC experience
- Great chapter on web site security
- Book often demonstrates C# 3 language features
Cons
- Database examples use LINQ to SQL.
- As many have noted this isn’t a major con. It was probably used to keep the examples shorter. Whether you like LINQ to SQL or not that is a good thing.
- No mention of Mono project or any hints of how to get ASP.Net working with Mono.
- Book examples are for the “real” version of VS2008 not the free VWDE2008.
- Does not provide a good example of using a validation utility such as XVal or Data Annotations
Chapter 1
- An adequate history lesson for those unfamiliar with MVC.
Chapter 2
- A great chapter that quickly and easily shows you the basics of ASP.Net MVC
Chapter 3
- Gives in depth definition to each part of MVC
- Gives good definition of entities vs value objects
- Lists design and pattern best practices
- Brief discussion of IoC and IoC containers
- Brief discussion on automated testing and the TDD movement
- Gives example of creating mock implementations for testing
Chapter 4
- Goes into medium depth while building a project with unit testing, domain model, and web layer
- uses LING to SQL for database interactions
- Sets up IoC with Castle Windsor
- Shows how to use Nunit and Moq to create unit tests
- Good definition of TDD and how the author thinks of it as actually BDD (behaviour driven development)
Chapter 5
- Examples of how to test every part of ASP.Net MVC
- Shows example of how to only expose an interface in your controller to avoid tying the controller to your business logic implementation
Chapter 6
- CRuD actions and views are added to the example project
- Example of username/password authentication
- Shows how to upload an image through a form field
Chapter 7
- Detail of asp.net MVC project folder structure
- Very well done, explains the what/why for each folder
- Goes over the naming convention which are crucial since ASP.Net MVC follows CoC
Chapter 8
- Everything you need to know about how url routing works and also how to create links in your application to your controllers/actions
Chapter 9
- More details on what code belongs in a controller/action
- More details on how the views are rendered
- Example of how to use the [Authorize] filter attribute, which is a great way to easily secure your actions individually
Chapter 10
- Details on how views work specifically how data is passed between layers and tools available to display that data. Specifically the HTML helpers.
Chapter 11
- Everything you need to know about how to modify and configure how data is retrieved from forms and urls and then binded to action parameters and model objects
- Validation
- Author basically suggest using plain c# in the model layer for validation. doesn’t list the re-usability and “all ready done for YOu” benefits of using a validation utility.
Chapter 12
- Simple examples of how to use the AJAX HTML helpers which includes JQuery.
Chapter 13
- Demonstrates basics of HTTP requests to help you understand how vulnerable web sites are. Really good reading for less experienced web developers.
- Gives example of how to fake an http request
- Gives examples of using tools like firebug and fiddler
- Details cross-site scripting and html injection
- Details how one of the previous chapter examples had a vulnerability and how it can be fixed
Related Posts
Comments
8 Responses to “ASP.Net MVC Book Review and musings”
Leave a Reply

The first 2 Cons arent really Cons. Linq is the way to go. And the book isnt about mono is about MS asp.net mvc
@Chocolim – The book covers a wide range of topics and IMHO not mentioning the mono project is a con. Especially since ASP.Net MVC is likely to attract developers that are used to open platforms such as the mono project. Also the book isn’t a LINQ book, so why only feature LINQ? And IMHO NHibernate is the way to go, but that is a debate for another day.
He wrote this post and said in it that he was writing it from the point of view of a “Java, PHP, and .Net developer” So I can see why as a polyglot programmer he would not be a fan of using LINQ, not that LINQ is not a valid choice.
Ahh, so perhaps your con should read “Database examples using LINQ to SQL”. LINQ and LINQ to SQL are different things.
@Paul Batum – Point taken. Updated review accordingly. I have also updated my cons to note the fact that LINQ to SQL was used for brevity. The book really does have in depth examples, so I guess keeping them shorter but still on point was a good choice. I’m just not a big fan of LINQ to SQL.
[...] Here is the original post: ASP.Net MVC musings and book review : Code Hangover [...]
[...] View post: ASP.Net MVC musings and bo… [...]
[...] ASP.Net MVC Book Review and Musings http://blog.codehangover.com/asp-net-mvc-musings-and-book-review/ [...]