Rating: 5 out of 5

I believe Pro ASP.NET MVC Framework is one of the best books on the market about MVC.  This book is crammed with a lot of information that you need to know as a developer.  While he doesn’t cover each subject fully (no book really does that), he does cover the major topic points related to MVC in-depth, and touches upon the other concerts that you need to be aware of to implement or customize MVC for your own purposes.  I’ve broken up my review into several major subsections related to the book and analyze each one individually.  From an overall level, I think the book really did well in its explanation and examples of MVC.

Book’s Knowledge

This book is really crammed with lots of valuable information.  I find myself referring back to the book when working with MVC, because it has a lot of various important sections about how to use JQuery to dynamically change MVC partial views within a view, how to customize the creation of a controller, and other important facts.  There is so many small or medium details regarding the MVC framework that is important to know about covered in this book, that it does really make it a very beneficial book.

The chapters on each major feature (views, routing, controllers, etc.) are very long, which is great because they contain so much information about each of the subjects.  I was really impressed with the information packed into each of these chapters.  After reading the book, I felt comfortable enough to work on MVC and understand some of the concerns when implementing MVC for my own applications.  I felt there was minimal downtime trying to play with MVC to understand its inner-workings; I really felt confortable jumping in.

Writing Style

I really like Steven’s ability to clearly articulate points about MVC.  If the writer is not fluent, I tend to lose interest, but I didn’t lose interest at all in this book.  This book doesn’t just talk about the functionality, but actually illustrates its use through examples and theory, which is important for such a big subject.  That’s not to say he doesn’t explain his code, which he does in the right amount of detail.

Content Structure

Though a pro book, the author ensures that he covers the basic prerequisites for the book, to fill in the user how MVC works.  The book continues on with three chapters of a sample MVC application, explaining it some as he goes, following up with most of the book detailing each features. 

The main complaint of the book that I have is that Chapters 4, 5, and 6 cover the basics of creating an MVC sports store application and tries to get you familiar with MVC by jumping right in without a lot of preliminary discussion.  While he does discuss what he’s illustrating, I feel it would have been helpful to cover the documentation of the features first, and then rolled through the example last, with a bigger/more complex example.

The plus to this design is that the sample walks you through the basics, and the subsequent materials enhance your understanding of routing, views, controllers and actions, data entry and model binding, AJAX and client-scripting, and security.

I found much use alone out of the chapters on using AJAX to use an unobtrusive JavaScript approach and the concerns to have with implementing security (since ASP.NET web forms handled certain security features for you automatically and MVC does not).

 
Implementation
 
While I do have a deep technical background, the concept of MVC is somewhat foreign to me; I had a familiarity to the pattern, but didn’t know anything about the product.  After reading this book, I felt very confident about my ability to create an MVC site.  There were some curveballs and I had to reference the book again and again, but I felt overall that this book was a fantastic resource to get me going.  It’s the only book I read on the subject (outside of the NerdDinner resource provided by Scott Guthrie).

Conclusion

MVC is a great product.  While in its infancy (2.0 has some great features coming), MVC gives you control over the UI that web forms took away.  MVC is a big undertaking and does require some knowledge about how it works.  I believe this book is a great way to take a big chunk out of the mystery of MVC, especially for those coming from a web forms world.