Customer Reviews

36
4.7 out of 5 stars
Professional ASP.NET Design Patterns
Format: PaperbackChange
Price:$38.29 + Free shipping with Amazon Prime
Your rating(Clear)Rate this item


There was a problem filtering reviews right now. Please try again later.

25 of 25 people found the following review helpful
VINE VOICEon December 6, 2010
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.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
25 of 25 people found the following review helpful
on November 23, 2010
Let me begin by stating that Professional ASP.NET Design Patterns By Scott Millett is a fantastic book that was worth every minute I spent reading it. The author, Scott Millett, is a great community leader and extends himself in several ways including spending time on the forums contributing to others into his strong insight of Domain Driven Design, Architecture, and Design Patterns. He has extended that helpfulness by writing this book that takes a dive into Design Patterns and Architecture from an ASP.NET UI centric view. However I would not get too fixated on the 'ASP.NET' in the title as probably more than half of this book could just as well have been called Professional .NET Design Patterns as it provides design patterns that are truly useful to all types of .NET applications once moving below the topmost UI layer. There are several chapters devoted to ASP.NET patterns including MVC which makes this still focused mostly on ASP.NET, but I would still recommend this book to WinForms and other SmartClient developers as well.

This book's target audience is broad and could reach to several different types of software engineers. It is probably suited best for Senior Engineers, Architects, Leads, or generally seasoned developers. It is not really an introductory book (this is a good thing; there are plenty of those books out there already), so if you don't know what acronyms like OOP, OOD, UI, BLL, or DAL mean at a minimum already then you may want to read something along the lines of an introduction to Object Oriented Programming book 1st to gain some traction. This is however a terrific book for those that do have a lot of experience with a traditional 3-layer logical architectures, and are looking to bridge the gap to more sophisticated architectures using Domain Driven Design and other implementations of either Martin Fowler's or the GoF design patterns within.

Scott does a wonderful job of layering the book (chapters) as you would an application. Each chapter takes either a single layer or design pattern and goes into detail on its responsibilities, relationship to other layers, and implementation with easy to follow along code samples. In fact I highly recommend downloading the code samples from the WROX website ([...]) The entire set of code samples are in C#, but don't let this slow up any VB.NET devs out there. I am actually a VB.NET developer (C# in the past) but we all know that you don't get too far in this industry without reading both so this should not be any problem.

The 1st third of the book (roughly) concentrates mostly on individual logical layers of an application and how they work together to build an application. Within each layer, there are examples of Design Patterns (both Fowler and GoF) that are used and shown why they are useful within that particular layer. There is also a section on IoC and DI which I really enjoyed and are reoccurring patterns in the layers throughout the book. The 2nd third of the book concentrates mostly on ASP.NET architectures and techniques like MVC, MVP, and AJAX patterns. The last third is devoted to a case study example that uses the knowledge gained from the previous chapters. The book reads and flows extremely well and was one of the reasons I enjoyed reading it so much.

I will also note that this is a great book for those of you familiar or have read the GoF book Design Patterns Elements of Reusable Object Oriented Software. As we all know code examples used to conceptually explain design patterns are not always critical, but Scott's book puts a fresh '.NET' perspective on several of the GoF patterns which is really nice. This helps to see how these patterns apply directly in .NET instead of taking the SmallTalk or C++ examples from the GoF book and translating them into .NET.

The book wraps up with a full case study example putting all of the chapters together (Agath's e-commerce store). This again strengthens the flow of the book with an extended example using everything learned from the previous chapters, This solution is included in the 'Chapter 14' folder in the downloadable code and is a nice reference to show everything from the book.

Well I will wrap this review up by saying this book is one for the shelf of 'Top Reference' books that go right next to the development machine. This is one of those books that you think, "How do I do that in the Repository Layer...", and then pick up the book to get a refresher. I would definitely recommend this book and keep an eye out for future books from Scott Millett. Nice Job!
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
14 of 15 people found the following review helpful
on October 16, 2010
This book is a concise guide to most of the GoF design patterns and Fowler's enterprise architecture patterns, combined with contemporary design principles, and set in context.

The text is divided into the standard enterprise application layers, and then the GoF patterns are introduced within each layer to address the concerns of that layer. Each GoF pattern is prefaced with an explanation of where and why you would want to use it and a UML diagram, and then demonstrated through code. You can get a full list of the covered patterns from the TOC.

The text is direct and economical, and, thankfully lacks a lot of the filler tactics and editorializing that seem to characterize most development books these days. It's heavy on code samples, and the samples are also refreshingly concise (e.g., automatic properties instead of space-wasting explicit property bodies, single-responsibility methods and classes instead of bloated catch-all classes dragged out over three pages). Obviously, since the code is meant to demonstrate the design principles the book espouses, the code is relatively concise and easy to read. There are a lot of nice diagrams and ERDs, and the leading frameworks (e.g., NHibernate for O/RM) are demonstrated well.

Overall, it's a pretty good reference for how to layout an enterprise application and how to apply the standard patterns and design principles. I think it's best for those already familiar with the concepts and looking for a reference to take to work with them. I think it's also a good gateway to get people to read Design Patterns, PoEAA, Enterprise Integration Patterns, etc.

There's not much I can really find fault with. Obviously, there are more patterns that could be included, and it could go deeper on various topics, but it achieves what it sets out to do. If I lost my copy, I would buy it again.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
3 of 3 people found the following review helpful
on December 25, 2012
I am a young professional software engineer, and I have been reading a lot of various software books lately. Coming out of college with a Computer Science degree, I really had no idea how poorly I really understood OO concepts and most of the code I was producing was very procedural in nature. Once I discovered patterns via the Gang of Four book "Design Patterns", I decided it was time to learn some real techniques. Since I was working in an ASP.Net environment, I read some reviews of this book and gave it a shot.

I can easily say this is the best book I have read for software engineering yet because I have been able to incorporate so much of what the book offers. This book really has a lot of great patterns that are exactly what I needed to make my development environment more robust. Correctly learning and implementing the multitude of patterns (at each level of the architecture) and learning about various architectural designs has already paid dividends for my systems' stability, testability, and performance.

One of the things I like best about this book is that all of the examples are explained very clearly, in great detail. All of the code is downloadable from the WROX site, so I was able to take a hands-on approach to learning the topic. There were a few third-party tools to download (an IoC container, NHibernate, and a mapping tool come to mind), but overall there wasn't much needed other than Visual Studio to start working (of course, all of the necessary dlls were included in the projects from the WROX site, so just using those you wouldn't need to download the third-party tools). I've found that one of the biggest challenges with other books is just getting the environment configured and that wasn't an issue here.

It was also good that the author used a multitude of different technologies in the examples. For example, in discussing the implementation of the Repository pattern, ADO.Net, Entities Framework, and NHibernate are all shown as options throughout the book. In discussing the presentation layer, MVP, MVC, and a couple other patterns are discussed, with MVC showing off .Net 4.0's MVC.

I would highly recommend this to any professional looking to learn enterprise patterns. Even if you've read the GoF book "Design Patterns", this is excellent because it covers many new patterns that have arisen in the nearly 20 years since that book was first published.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
3 of 3 people found the following review helpful
on November 5, 2010
I've found this the best book yet on Design Patterns. It distills material from many other books, ties together complex concepts, and provides solid examples in c#. This is the first time I've felt I've really "got it", and could now architect applications in the real world leveraging design pattern skills. It also uses a treasure trove of open source tools and frameworks, which is a best practice in itself. It also covers Unit Testing, Mocking, Inversion of Control, Application Layering and Messaging Patterns, as well as providing a practical real-world case study, which is the meat of the concluding third of the book. Highly recommended.
55 commentsWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
2 of 2 people found the following review helpful
on December 17, 2010
Let me start by saying that while I was reading this book I had many moments where I thought, "he's explained the concept well, but how would you ACTUALLY write the code for that" and then BAM! there's the code example! Really enjoyed this book, it definitely pulls in a lot of concepts, but Scott does a great job explaining how to use various "Gang of Four" design patterns in a REAL application. The early chapters provide a concise summary of the major design patterns, along with some tips and advice on when and how to use them, which I found very helpful. The later chapters Scott walks us through the development of an ASP.NET MVC e-Commerce application, explaining and showing with code how to apply the patterns learned in the earlier parts of the book.

I've been developing ASP.NET Web Forms sites for over 5 years, and more recently started doing ASP.NET MVC and I found the book to have just the right tone in terms of introductory concepts and more advanced concepts, without being overwhelming at any point. Personally, I learned a LOT from reading this book, and I have a feeling I'll be re-reading it quite a few more times to fully grasp some of the concepts, and I'll be keeping it handy as a reference as well.

I have had conversations with Scott over twitter and I have posted several questions on the Wrox forum, which Scott seems to do a great job monitoring and responding to, which is MUCH APPRECIATED!

Bottom line, if you've been doing .NET development for a few years, this book is a MUST HAVE in my opinion. It might be a tad too advanced if you're not familiar with basic OOP principles, but definitely put it on your wishlist :)
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
2 of 2 people found the following review helpful
on May 13, 2013
If you downloaded the code for the book, there are a few things of which you should be aware. Most of the code was created in VS2008 SP1 (with Framework 3.5) though some later chapters also use VS2010. In addition you need to assure MVC 1.0 is setup for VS2008 in order to run some of the "VS2008" solutions. I had no problems with VS2010 for any of the solutions targeting it. In addition, if there is a "user interface" project in a solution, assure it is the startup project before you run the example. One of the earlier chapters had an incorrect name for one of methods run when the "withdrawal" button is clicked. To correct, go to the code behind select the "Withdraw" method and add "al" to the name of the method.

One of the earlier projects had trouble finding the data base filename because a full path was specified for it instead of using the "|Data Directory|" prefix to the mdf file under the App_Data subdirectory. There were at least four places in the solution where the full path was used. You also need to have a local instance of SQLEXPRESS installed and running. I used SQL Server 2008 R2 SQLEXPRESS.

For the solutions with unit tests, I installed the latest version of NUnit and set it to run within VS2008 using the External Tools option. If done successfully, "NUnit" should show up under the Tools menu. Click "NUnit" and open the test project assembly you want to run the tests for.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
2 of 2 people found the following review helpful
on December 23, 2010
I have read many books about design patterns, but this is the best I have ever read. It explains design patterns on examples which I can use right now (it's not some abstract examples). All patterns explained deep in details.
Thanks for this book!!!
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
2 of 2 people found the following review helpful
on January 24, 2012
It is quite interesting to find many others who left reviews felt the same thing I did about the book - I think I should add one more of 5 stars review too. Thank you Scoot for the great work !
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
1 of 1 people found the following review helpful
on June 29, 2012
I found the book to be ok. The chapters seem to be very rich with multiple patterns. The problem I have is the length of code you have to go through in order to materialize the concept clearly. It seems I'm going through the programming exercises and half way through a concept it adds a couple new concepts or patterns so I am having trouble clearly separating which patterns are which.
It seems like the book could have done a better job explaining the patterns with much less code. After typing 3 pages of code it tends to get a little foggy on why I was typing it in in the first place.
I had to struggle to keep my interest in the reading going through this book. I think it had to do with the length of the code exercises that were supposed to demonstrate the patterns clearly. Of course it could be that I got this book for a 6 week class in school and perhaps that might not be enough time to go through it ' I ended up putting the book down and I purchased the Head First pattern book. I have never developed in java but I was able to pick that book up and stay interested and work through it easily. I realize that this is a "Professional" book not a beginner. It just had a hard time keeping my interest.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
     
 
Customers who viewed this also viewed

Pro ASP.NET MVC 5 (Expert's Voice in ASP.Net)
Pro ASP.NET MVC 5 (Expert's Voice in ASP.Net) by Adam Freeman (Paperback - December 20, 2013)
$41.37

Design Patterns: Elements of Reusable Object-Oriented Software
Design Patterns: Elements of Reusable Object-Oriented Software by Richard Helm (Hardcover - November 10, 1994)
$37.88
 
     

Send us feedback

How can we make Amazon Customer Reviews better for you?
Let us know here.

Your Recently Viewed Items and Featured Recommendations 
 

After viewing product detail pages, look here to find an easy way to navigate back to pages you are interested in.