Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


If you want to speed up the development of your .NET applications, you're ready for C# design patterns -- elegant, accepted and proven ways to tackle common programming problems. This practical guide offers you a clear introduction to the classic object-oriented design patterns, and explains how to use the latest features of C# 3.0 to code them. C# Design Patterns draws on new C# 3.0 language and .NET 3.5 framework features to implement the 23 foundational patterns known to working developers. You get plenty of case studies that reveal how each pattern is used in practice, and an insightful comparison of patterns and where they would be best used or combined. This well-organized and illustrated book includes:

  • An explanation of design patterns and why they're used, with tables and guidelines to help you choose one pattern over another

  • Illustrated coverage of each classic Creational, Structural, and Behavioral design pattern, including its representation in UML and the roles of its various players

  • C# 3.0 features introduced by example and summarized in sidebars for easy reference

  • Examples of each pattern at work in a real .NET 3.5 program available for download from O'Reilly and the author's companion web site

  • Quizzes and exercises to test your understanding of the material.

With C# 3.0 Design Patterns, you learn to make code correct, extensible and efficient to save time up front and eliminate problems later. If your business relies on efficient application development and quality code, you need C# Design Patterns.

Subscriber Reviews

Average Rating: 4.4 out of 5 rating Based on 5 Ratings

"Example code has lots of mistakes" - by C. Vermillion on 16-SEP-2013
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
The book started out well, but I didn't make it past the second section of chapter 2 because I started to become concerned about the number of mistakes in the example code.

The output of the code doesn't match what the code in the book would produce in places. I stopped reading after a class was defined with a method IsUnique() which actually returns whether a name is NOT unique, then the code that uses that method calls it as Unique() instead of IsUnique().

I'm primarily a C++ programmer and I probably wouldn't catch more subtle mistakes, so I'm going to look for another book with the same theme before I get to the more complex patterns. I gave the book an average rating because I don't think it's fair to do anything else without reading at least the majority of it, but I have a pretty low opinion of Judith's editor.

Report as Inappropriate

Table of Contents



The publisher has provided additional content related to this title.


Visit the catalog page for C# 3.0 Design Patterns

  • Catalog Page

Visit the errata page for C# 3.0 Design Patterns

  • Errata

Download the supplemental electronic content for C# 3.0 Design Patterns

  • Supplemental Content