Professional ASP.NET Design Patterns and over one million other books are available for Amazon Kindle. Learn more

Vous voulez voir cette page en français ? Cliquez ici.

Sign in to turn on 1-Click ordering.
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
Start reading Professional ASP.NET Design Patterns on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Professional ASP.NET Design Patterns [Paperback]

Scott Millett

List Price: CDN$ 59.99
Price: CDN$ 37.61 & FREE Shipping. Details
You Save: CDN$ 22.38 (37%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 1 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
Want it delivered Tuesday, October 28? Choose One-Day Shipping at checkout.


Amazon Price New from Used from
Kindle Edition CDN $31.78  
Paperback CDN $37.61  
Join Amazon Student in Canada

Book Description

Sept. 28 2010
Professional ASP.NET Design Patterns is all about showing you how to use the power of design patterns and core design principles in real ASP.NET applications. The goal of this book is to educate developers on the fundamentals of object oriented programming, design patterns, principles, and methodologies that can help you become a better programmer. Design patterns and principles enable loosely coupled and highly cohesive code, which will improve your code’s readability, flexibility, and maintenance. 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 use best practice design patterns and principles in a real website.

Professional ASP.NET Design Patterns is for ASP.NET developers who are comfortable with the .NET framework but are looking to improve how they code and understand why design patterns, design principles, and best practices will make their code more maintainable and adaptable. Readers who have had experience with design patterns before may wish to skip Part 1 of the book, which acts as an introduction to the Gang of Four design patterns and common design principles, including the S.O.L.I.D. principles and Martin Fowler’s enterprise patterns. All code samples are written in C# but the concepts can be applied very easily to VB.NET.

This book covers well-known patterns and best practices for developing enterprise-level ASP.NET applications. The patterns used can be applied to any version of ASP.NET from 1.0 to 4.0. The patterns themselves are language agnostic and can be applied to any object oriented programming language.

Professional ASP.NET Design Patterns can be used both as a step-by-step guide and as a continuous source of reference to dip into at your leisure. The book is broken into three distinct sections. Part 1 is an introduction to patterns and design principles. Part 2 examines how patterns and principles can be used in the various layers of an ASP.NET application. Part 3 represents an end-to-end case study showcasing many of the patterns covered in the book. You may find it useful to work through the chapters before reading the case study, or you may find it easier to see the patterns in action by reading the case study section first and referring back to Part 2 for a more detailed view on the patterns and principles used.

Within those parts the coverage includes:

  • The origins of the Gang of Four design patterns, their relevance in today’s world, and their decoupling from specific programming languages.
  • An overview of some common design principles and the S.O.L.I.D. design principles follows, and the chapter ends with a description of Fowler’s enterprise patterns.
  • Layering Your Application and Separating Your Concerns
  • A description of the Transaction Script pattern followed by the Active Record, with an exercise to demonstrate the pattern using the Castle Windsor project.
  • The Domain Model pattern demonstrated in an exercise with NHibernate and a review of the domain-driven design (DDD) methodology
  • Patterns and principles that can be used construct your objects and how to make sure that you are building your application for scalability and maintainability: Factory, Decorator, Template, State, Strategy, Composite, Specification and Layer Supertype.
  • Design principles that can improve your code’s maintainability and flexibility; these include Dependency Injection, Interface Segregation, and Liskov Substitution Principle
  • Service Oriented Architecture, the Facade design pattern, messaging patterns such as Document Message, Request-Response, Reservation, and the Idempotent pattern
  • The Data Access Layer: Two data access strategies are demonstrated to help organize your persistence layer: Repository and Data Access Objects. Enterprise patterns and principles that will help you fulfill your data access requirement needs elegantly, including Lazy Loading, Identity Map, Unit of Work, and the Query Object.
  • An introduction to Object Relational Mappers and the problems they solve.
  • An enterprise Domain Driven exercise with POCO business entities utilizing both NHibernate and the MS Entity Framework.
  • The Presentation Layer: how you can tie your loosely coupled code together Structure Map and an Inversion of Control container.
  • Presentation patterns, including letting the view be in charge with the Model-View-Presenter pattern and ASP.NET web forms, the Front Controller presentation pattern utilizing the Command and Chain of Responsibility patterns, as well as the Model-View-Controller Pattern implemented with the ASP.NET MVC framework and Windsor’s Castle Monorail framework. The final presentation pattern covered is PageController as used in ASP.NET web forms.
  • A pattern that can be used with organizational patterns, namely the ViewModel pattern and how to automate domain entities to ViewModel mapping with AutoMapper
  • The User Experience Layer: AJAX, JavaScript libraries, including jQuery. AJAX patterns: Ajax Periodic Refresh and Timeout patterns, maintaining history with the Unique URL pattern, client side data binding with JTemplate, and the Ajax Predictive Fetch pattern
  • An end-to-end e-commerce store case study with ASP.NET MVC, NHibernate, jQuery, Json, AutoMapper, ASP.NET membership provider and a second 3rd party authentication method, and PayPal as a payment merchant

Frequently Bought Together

Professional ASP.NET Design Patterns + Pro Asp.Net Mvc 4
Price For Both: CDN$ 73.94

  • Pro Asp.Net Mvc 4 CDN$ 36.33

Customers Who Bought This Item Also Bought

Product Details

Product Description

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

Programmer Forums
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.

Code Downloads
Take advantage of free code samples from this book, as well as code samples from hundreds of other books, all ready to use.

Read More
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, an e-commerce company that uses ASP.NET.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

There are no customer reviews yet on
5 star
4 star
3 star
2 star
1 star
Most Helpful Customer Reviews on (beta) 4.7 out of 5 stars  35 reviews
24 of 24 people found the following review helpful
5.0 out of 5 stars Great Patterns Book Dec 5 2010
By T. Anderson - Published on
Format:Paperback|Verified Purchase
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.
23 of 23 people found the following review helpful
5.0 out of 5 stars As a Senior Software Enginner, I 'highly' recommend this book! Nov. 23 2010
By atconway - Published on
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!
14 of 15 people found the following review helpful
4.0 out of 5 stars Design guidance for intermediate-advanced developers Oct. 15 2010
By Silverstein - Published on
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.
3 of 3 people found the following review helpful
5.0 out of 5 stars Great book that ties together difficult concepts with great examples Nov. 5 2010
By David Laub - Published on
Format:Paperback|Verified Purchase
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.
2 of 2 people found the following review helpful
5.0 out of 5 stars Fantastic book, and knowledgeable author Dec 16 2010
By Kevin Southworth - Published on
Format:Paperback|Verified Purchase
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 :)

Look for similar items by category