- Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)
Professional ASP.NET Design Patterns Paperback – Sep 28 2010
|New from||Used from|
Special Offers and Product Promotions
Frequently Bought Together
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
From the Back Cover
Implement proven solutions to recurrent design problems
This unique book takes good ASP.NET application construction one step further by emphasizing loosely coupled and highly cohesive ASP.NET web application architectural design. Each chapter addresses a layer in an enterprise ASP.NET application and shows how proven patterns, principles, and best practices can be leveraged to solve problems and improve the design of your code. In addition, a professional-level, end-to-end case study is used to show how to actuate best practice design patterns and principles in a real web site. The framework built to support the case study can be used as the basis from which you can build real web sites, extend the code, and implement specific ASP.NET code.
Professional ASP.NET Design Patterns:
Demonstrates how to use the Gang of Four design patterns to improve your ASP.NET code
Shows how Fowler's enterprise patterns fit into an enterprise-level ASP.NET site
Provides details on how to layer an ASP.NET application and separate your concerns and responsibilities
Details AJAX patterns using JQuery and Json, and messaging patterns with WCF
Shares best practice tools for ASP.NET such as AutoMapper, NHibernate, StructureMap, Entity Framework, and Castle MonoRail
Uncovers tips for separating a site's UX and presentation layer from the pluggable data access layer and business logic layer
Join our Programmer to Programmer forums to ask and answer programming questions about this book, join discussions on the hottest topics in the industry, and connect with fellow programmers from around the world.
Take advantage of free code samples from this book, as well as code samples from hundreds of other books, all ready to use.
Find articles, ebooks, sample chapters, and tables of contents for hundreds of books, and more reference resources on programming topics that matter to you.
Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
About the Author
Scott Millett is an ASP.NET MVP and lead architect for wiggle.co.uk, an e-commerce company that uses ASP.NET.
Inside This Book(Learn More)
Most Helpful Customer Reviews on Amazon.com (beta)
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.
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!
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.
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.
Look for similar items by category
- Books > Computers & Technology > Internet & Social Media
- Books > Computers & Technology > Microsoft > Development > .NET
- Books > Computers & Technology > Networking & Cloud Computing > Data in the Enterprise > Client-Server Systems
- Books > Computers & Technology > Programming
- Books > Computers & Technology > Web Development > Programming > ASP
- Books > Computers & Technology > Web Development > Web Services
- Books > Textbooks