Programming Books C Java PHP Python Learn more Browse Programming Books
Buy Used
Condition: Used: Good
Comment: 100% guaranteed delivery with Fulfillment By Amazon. A name is printed, written, or stamped on the front endpaper. Purchase of this item helps the Friends raise funds for The Seattle Public Library. Used textbook. Unmarked slighly warped covers.
Access codes and supplements are not guaranteed with used items.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Design Patterns in C# Hardcover – April 25, 2004

ISBN-13: 978-0321126979 ISBN-10: 0321126971

Price: $8.95
19 New from $6.02 34 Used from $4.96 1 Collectible from $109.65
Amazon Price New from Used from
"Please retry"
$6.02 $4.96
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


Hero Quick Promo
Save up to 90% on Textbooks
Rent textbooks, buy textbooks, or get up to 80% back when you sell us your books. Shop Now

Product Details

  • Hardcover: 480 pages
  • Publisher: Addison-Wesley Professional (April 25, 2004)
  • Language: English
  • ISBN-10: 0321126971
  • ISBN-13: 978-0321126979
  • Product Dimensions: 7.3 x 1.3 x 9.1 inches
  • Shipping Weight: 2.2 pounds
  • Average Customer Review: 3.3 out of 5 stars  See all reviews (32 customer reviews)
  • Amazon Best Sellers Rank: #662,286 in Books (See Top 100 in Books)

Editorial Reviews Review

Long ago (1995), four object-orientation specialists came out with a book called Design Patterns. In it, the four--whose book became so famous that they became known as the Gang of Four--forwarded a convincing argument that most programming jobs fell into a couple of dozen general categories, and that generic solutions to these programming problems--design patterns--could carry the day a lot of the time. The book remains part of the Holy Writ of object orientation, and indeed if you study it carefully you can save yourself from having to reinvent the wheel every time you set about writing software.

Not long ago (2003), Microsoft came out with a new programming language called C#. It's object oriented, and does lots of nifty stuff with networks. Design Patterns in C# shows you how to implement the 23 "Gang of Four" design patterns in this new language. Steven Metsker's approach is mostly architectural, with lots of object relationship diagrams and relatively little code. He says right up front: "This book is for developers who know C# and want to improve their skills as designers." Among the most valuable parts of his coverage are his comparisons of similar patterns. These clarify, for example, when to use a Builder pattern, as opposed to a Factory or Abstract Factory. The approach helps you become a good C# architect. --David Wall

Topics covered: How to implement the 23 classic Gamma-Helm-Johnson-Vlissides design patterns in C#. Questions scattered throughout the text help you improve your C# skills while you read about pattern architecture.

From the Back Cover

Steven John Metsker explains how to use C# as an object-oriented language, using design patterns to create clean code while taking advantage of the extensive Microsoft(R) .NET Framework Class Libraries.

For all 23 classic "Gang of Four" design patterns, Metsker offers detailed code examples utilizing C# and the .NET Framework--as well as programming exercises crafted to help you rapidly build expertise. His exercises and explanations make extensive use of the Unified Modeling Language, helping you build your skills in this standard notation.

Design patterns covered include:

  • Interfaces: Adapter, Facade, Composite, and Bridge
  • Responsibility: Singleton, Observer, Mediator, Proxy, Chain of Responsibility, and Flyweight
  • Construction: Builder, Factory Method, Abstract Factory, Prototype, and Memento
  • Extensions: Decorator, Iterator, and Visitor

If you've already used design patterns in other languages, Design Patterns in C# will deepen your understanding, build your confidence, and help you apply them to any C# project. If you're a Microsoft programmer who's new to design patterns, this book will be an ideal practical introduction.


Pearson Education

ISBN: 0-321-12697-1

Customer Reviews

Save your money and buy the Head start book.
Davidb Naas
This book will serve you well whether you know Patterns and are trying to learn C# or know C# and are trying to understand Patterns better.
Steve Berczuk
It is very frustrating to have to consult an appendix every couple of pages before making sense of the text following a "challenge".
Chris Ladd

Most Helpful Customer Reviews

40 of 42 people found the following review helpful By Jack D. Herrington on October 13, 2004
Format: Hardcover
This book reminds me of the 'Numerical Recipes in <x>' books. They were the thin adjunct books that accompanied Numerical Recipes which showed the examples implemented in various languages. The books were no good on their own, you needed Numerical Recipes to understand them. This book has the same problem. It doesn't introduce the patterns from scratch, it assumes that you have read the GoF book and that you can use it as the base source material.

That being said the author puts together, succinctly, with both diagrams and code, C# examples for all of the GoF design patterns. Even though in some cases there is very little code because the patterns have been integrated into the structure of the .NET framework.

I think this book is worth a look for anyone writing C# on a daily basis and who is a patterns fan. It's something you need to evaluate before you buy because, frankly, you may already know most of what you are going to see.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
27 of 29 people found the following review helpful By Amazon Customer on November 7, 2004
Format: Hardcover

Steven knows what he's talking about. All patterns are nicely organized. I really liked chapter introductions and summaries because they were at times much clearer than chapter content itself. Small typos here and there didn't bother me that much. Overall, the book is proof-read quite well.


Each chapter presents a number of challenges, or quizzes. They appear intermittently with text and therefore distract you from the discussion each time because their solutions are listed in the back and you have to flip back and forth to follow code.

In a couple of places Steven throws a quiz at you and afterwards presents the subject at hand. Normally, you present material first and then quiz. Doing it the other way around is quite a strange educational technique.

Steven is an author of a number book on Java, and it shows in his C# code. Nothing wrong with Java per se, but c'mon! For example, he refers to the book Concurrent Programming in Java as an excellent resource when discussing multithreaded programming in .NET.

The singleton implementation found in this book is downright wrong! It may lead to deadlocks and is not thread-safe. You can find a more efficient implementation of a singleton with a double-check lock at Microsoft's Patterns and Practices.


The book *is* valuable. I didn't think it was a waste of money. Still, it fails to be the best book on the subject of Design Patterns in C# around.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
25 of 27 people found the following review helpful By Christopher Bennage on April 12, 2005
Format: Hardcover
I really liked this book.

My background was in VB6 and classic ASP, until just over two years ago. I was introduced to C# and I've never looked back.
Reading about C# best practices led me into design patterns and that naturally led me to this book. It was the first book I've read on patterns (aside from a few articles online.)

Concise - Metsker doesn't waste my time with unnecessary text (such as lame jokes or repetitive text). If I don't get something the first time, I go back and read it over.

Readable - The information in the book is dense, and there are certainly sections that may be confusing initially. However the book thoughtfully organized, the spacing and layout are comfortable, the author's voice reminiscent of a friendly college professor

Specific - His implementation of patterns take advantage of C# specific features. This is important, and I would not have recognized this without the input of C++ developer.</li>

In addition, this book helped to clarify a number of Object Oriented and Component Oriented concepts (such as delegates, interfaces, and iterators). Likewise, it shed light on the .NET FCL (streams and enumerators)

Regarding the exercises in the book; I was irritated with them at first, however I found that they were really useful for making the concepts stick once I quit being lazy. On the flipside, the book is quite useable even if you skip over them.

The only real negative is the metaphor of the fireworks company. It's not intuitive and it takes a while to sink in.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
14 of 15 people found the following review helpful By W Boudville HALL OF FAMETOP 1000 REVIEWERVINE VOICE on May 31, 2004
Format: Hardcover
C# is still a relatively new language. Certainly younger than Java or C++, which are the 2 most common OO languages. So chances are, some people coming to this book are still clumsy in C#. But I think it is also reasonable to say that if you are contemplating ANY book on design patterns, that you are fluent in at least one language.
Strictly, a purist might say that design patterns do not need to refer to a specific language. They are a level above code. But pragmatically, to understand them, it helps to instantiate examples in a language.
All this means that the book is good for an experienced developer who is still new to C#. You understand why design patterns are important. You can use the book to bootstrap your fluency in C# by studying the examples and tackling the supplied problems.
If you are indeed an experienced developer in another language, you might find the narrative more appealing than that in a Dummies-type book. The level of discussion that Metsker supplies is more advanced and challenging. More interesting.
Hey! He also gives answers to the problems.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

More About the Author

I've been developing software since 1975, and I still love it. Software has given me the chance to live in Colorado, Maine, Texas, Switzerland, Kentucky, England, and now Virginia where I believe I'm settled. I'm now working as a consultant with Dominion Digital, and my client is the U.S. Navy.

What Other Items Do Customers Buy After Viewing This Item?