Most Helpful Customer Reviews
89 of 92 people found the following review helpful:
5.0 out of 5 stars
Fantastic Book, July 12, 2010
This review is from: Pro ASP.NET MVC 2 Framework (Expert's Voice in .NET) (Paperback)
Every now and then you read a software development book that absolutely takes your breath away. This is one of those books.
This is an outstanding book for the professional developer who is looking to become an expert on ASP.NET MVC, and who wants to seriously "raise their game" when it comes to software development in general. Steve Sanderson (the author) has a fantastic writing style that is easy to read, and which flows very naturally.
The first 212 pages of the book are mostly spent building two applications (a party invite application and a sports e-commerce store) literally starting with File->New Project and walking you step-by-step through their creation (explaining all of the code keystrokes, C# language features, and Visual Studio steps required along the way). These provide a great set of tutorials that can help you understand how ASP.NET MVC works and can be applied to build common web scenarios.
Sanderson's book avoids simply showing "the basic path" when it comes to building ASP.NET MVC applications, and instead takes the much bolder approach of teaching ASP.NET MVC in conjunction with Unit Testing, Test Driven Development (TDD), Dependency Injection, and Mocking. What makes the book so great is that he is able to make these concepts (which most books consider "advanced topics") straight forward to comprehend and grasp. He introduces them early, explains the concepts behind them quickly, and then does a masterful job of immediately showing how you can apply and use them pragmatically within ASP.NET MVC applications. The result is that they feel natural, you really "get" the concepts behind them, and you are left knowing the exact mechanics and steps necessary to take advantage of them within your own ASP.NET MVC applications. He uses the free, open-source NUnit, Moq, and Ninject frameworks within the book - which work with all version of Visual Studio (including the free express editions).
The remaining 500 pages of the book then go into detail on all the core areas of ASP.NET MVC, and do a phenomenal job of explaining both all of the features - and more importantly how to take advantage of them. In addition to covering the built-in features of ASP.NET MVC, he covers how to implement common scenarios with it like implementing CAPTCHAs, how to take advantage of jQuery, use VS 2010's new web deployment features, and more.
This book is a tour de force and absolutely stunning. It is a must-have for the bookshelf of any professional ASP.NET MVC developer.
Scott Guthrie
Corporate Vice President - Developer Division
Microsoft Corporation
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
17 of 17 people found the following review helpful:
5.0 out of 5 stars
Excellent book for learning ASP.NET MVC 2, July 13, 2010
This review is from: Pro ASP.NET MVC 2 Framework (Expert's Voice in .NET) (Paperback)
I see Scott Guthrie has already recommended the book and gave it five stars. What other recommendation do you need? You should purchase this book! In case you want additional validation to purchase this book, here is my review. I have been an ASP.NET Webform developer since the first release. I have been listening to the buzz at conferences and in Scott Guthrie's blogs about ASP.NET MVC and more recently MVC 2 and wanted to start my education so I purchased this book. This book is an excellent book for learning MVC 2.
The book starts off giving you an overview of what MVC is, how it's different than Webforms and why it's better. It also does a brief comparison to other similar products like Ruby on Rails and MonoRail. The next five chapters are dedicated to building a simple RSVP form and an eCommerce store using MVC 2. It doesn't just give you a simple demo of MVC features but builds an actual working application that could be the beginnings of a real application. Building these applications gives you a great feeling for the language. But Mr. Sanderson isn't content with just teaching you MVC, he also wants to teach you many of the best practices in software development. He covers test-driven (TDD) and behavior-driven development(BDD). I love the ShouldEqual() extension method for simplifying an assert. He covers Nunit, Moq and Specflow (Gherkin BDD language interpreter). He talks about unit testing versus integration testing. He uses Linq to SQL for database integration and Ninject for Dependency Injection. While you can download all of the source code for the applications from the apress.com web site, I typed in all of the samples from the book. I can honestly say I haven't found one sample that didn't work as expected. The book also uses CSS to keep the HTML clean.
Once you are done building the two applications and have a good understanding of how ASP.NET MVC actually works in practice, Part 2 of the book covers MVC features in detail. It covers URLs and URL routing, controllers and actions, extending controllers and the request processing pipeline, views, HTML helper methods, models with parameter binding and validation, user interface techniques and Ajax and client JavaScript including jQuery. The last few chapters deal with deployment strategies and understanding common security vulnerabilities and how to avoid them. There is also a section that talks about upgrading from webforms to MVC and even discusses how to combine the two technologies.
Even though I have a good understanding of many of the best practices introduced in the book, I found the book's coverage of these topics the appropriate length and depth. Mr. Sanderson goes to great lengths to support Visual Studio 2008 and 2010 as well as ASP.NET 3.5 and 4.0. At the beginning I was worried the author was going to duplicate examples in both versions but to his credit he quickly transitioned to using ASP.NET 4.0 syntax but with appropriate callouts to bring attention to the differences and warning that there would be no further warnings.
One small criticism of the book was with the use of Linq to SQL. I would have preferred him covering the Entity Framework or nHibernate. Mr. Sanderson explained why he choose Linq to SQL and his reasons are valid. Another equally small criticism was with mixing CSS styles with HTML in the Shopping cart example. He took great pains in the rest of the application to use best practices but took the easy way on this sample. Obviously if these are the biggest criticisms I can give the book, the book is pretty amazing. I strongly recommend the book and is one of the best programming books I have purchased (and I have purchased many).
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
11 of 12 people found the following review helpful:
5.0 out of 5 stars
Absolutely must-read, July 18, 2010
This review is from: Pro ASP.NET MVC 2 Framework (Expert's Voice in .NET) (Paperback)
Scott Guthrie wrote a review with enthusiastic recommendation - so I realize that anything I add isn't going to be that helpful :) The first version of the book was my favorite on MVC1, and I couldn't wait to get MVC2 version. And it didn't disappoint!
So, all my comments below shouldn't dissuade you in any way from getting this book as soon as possible!
1. I read first version of this book after I went through Nerd Dinner tutorial. I think a "quicker-and-dirtier" example like Nerd Dinner would be helpful before you get into unit testing, dependency injection, and other advanced topics. Especially if your background is in WebForms! Unfortunately, Scott's team seem to have taken extended vacation after MVC2 and VS2010 went live in April. All the tutorials are still covering MVC1 (as of mid-July 2010).
2. Just like somebody else noted, I would prefer to use EF over LINQ to SQL. I understand author's arguments; I just disagree with them. Most developers are upgrading the tools very quickly (unlike OS or business applications the concern about backward compatibility just isn't there). There are a lot of issues that are at intersection of EF4 and MVC2 - having example that use both would be just awesome! More generally, I think there is too much concern (and space) dedicated to VS2008 issues.
3. Author chose Ninject for DI examples... It feels from conversations that I had that Castle Windsor is more popular.
4. It seems to me that every MVC project is using T4MVC (and for good reason... magic strings are EVIL). Would be nice to see it incorporated in the book!
5. As I said, this is one of the best (if not the best) books on the topic. Would be nice to have a forum where the readers can discuss some topics, help each other, and maybe make suggestions or enhancement requests. If such forum exists - I couldn't find it.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|