Professional ASP.NET Design Patterns Book Review
|This is a pretty sharp book. I bought it for 3 reasons. The first was I liked the author's other book Professional Enterprise .NET (Wrox Programmer to Programmer). The second was I wanted to read something about ASP.NET MVC since I don't use it at work. Third, I like to read all new pattern books because it is the only way I can keep them fresh in my mind.|
This book is written extremely well. It starts with an introduction to the S.O.L.I.D. design principles and an introduction to design patterns. It then covers every layer of a common enterprise level ASP.NET application and shows the use of patterns in each layer (Business, Service, Data Access, Presentation, and User Experience). The book covers a ton of patterns including both GOF design patterns and Fowler's Enterprise Application Design patterns.
Design patterns covered include Factory, Decorator, Command, Chain of Responsibility, Template, State, Strategy, Composite, and Facade. Messaging patterns such as Document Message, Request-Response, Reservation, and the Idempotent pattern are covered. Enterprise patterns include Lazy Loading, Identity Map, Unit of Work, and the Query Object. User interface patterns include Model-View-Controller, PageController, Model-View-Presenter, and Front Controller.
The third part of the book includes a case study that builds out an E-Commerce store from soup to nuts. They start with requirements and end with a final product you can download from Codeplex.
The downloadable code is very well organized and usable. As mentioned above the authors have also posted a separate download called ASP.NET MVC 2 Case Study Starter Kit on Codeplex which includes the case study sample project covered in the third part of the book.
One of the things I really like about the book is that it includes the use of tools like AutoMapper, NHibernate, StructureMap, Entity Framework, and Castle MonoRail. It also includes patterns using JQuery and Json.
All in all this book accomplished what I had hoped it would. It is a great book on patterns that every programmer should read. It is a must have for any serious developer.