Author: Simone Chiaretta & Keyvan Nayyeri
Publisher: Wrox, 2009
Aimed at: ASP .NET beginners
Pros: Well explained
Cons: Poorly produced and only covers MVC 1.0
Reviewed by: Ian Elliot
The biggest problem with this book is that MVC 2.0 is with us and the book covers MVC 1.0. However this isn't as big a problem for the beginner as it would be for an expert. You can work with MVC 2 alongside MVC 1.0 and there is an automatic conversion tool for projects.Given that this book deals with fairly introductory ideas much of it is applicable to MVC 2.0 with few changes.
The first chapter is a good overview of where things stand with ASP .NET and emphasises the basic idea that ASP .NET now covers everything that Microsoft does with web development, including ASP .NET forms, Ajax and MVC. The basic structure of MVC is introduced and while everything is covered you probably need to have a rough idea of the basics for it to make sense.
Chapter Two moves on to a hands-on project using MVC 1. There are lots of screen dumps and the step-by-step is at a fairly slow pace. One annoyance that runs through the entire book is the sloppy way lines in listings wrap round anywhere with no regard to meaning. Sometimes this is bad enough to make reading the listings more difficult than it should be. If you are picky and can't help proof reading a book you might find this one irritating as in places it could do with a good edit.
From Chapter Three on the book moves into increasingly deeper areas of the MVC framework. A bigger example goes over the building of a project and the three components - Model, View and Controller working together The next three chapters then deal with each of the main components in turn. The Model is illustrated using Linq to SQL, ADO .NET, ADO Entity Framework and Linq to XML. The Controller is then explained in depth and Chapter Six covers the View in relation to HTML forms.
A whole chapter is devoted to the subject of routing and its central place in any MVC application. After this the book moves into more general territory - unit testing, testing MVC applications, using ASP .NET components, Action Filters, Ajax, Deployment, working with the ASP .NET Webforms approach, authentication and authorization, extending ASP .NET MVC and migrating web form projects. The book ends with a number of cases studies and solutions to the exercises.
Overall this isn't a perfect book, it has too many rough edges. However it does succeed in providing an easy to read overview of the whole MVC idea and the ASP .NET MVC framework in particular. It also does a good job of pointing out the relationships between old style ASP .NET and the MVC system and it isn't afraid to say when something doesn't work in the new environment.
Is it suitable for beginners? Yes, as long as the beginner writes good C# and has a grasp of web development in general. This is an introduction to ASP .NET MVC not programming in general and it covers some advanced topics - it could be all you need to make the conversion from ASP .NET web forms to MVC.
This is a book that would be great if it was brought up-to-date to cover MVC 2.0 and was subjected to a little bit of polishing. As it stands it's still a good book.