Design Patterns C# Workbook (Software Patterns) Hardcover – 15 Apr 2004
Customers Who Viewed This Item Also Viewed
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
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.
About the Author
STEVEN JOHN METSKER has written extensively on design patterns, object-oriented programming, and software methodologies. Steve is a software consultant with CapTech Ventures, and a frequent speaker at OOPSLA conferences. His work has appeared in journals including Java Report, JOOP, Distributed Object Computing, and Object Magazine. Steve's Addison Wesley books include Design Patterns Java Workbook and Building Parsers in Java.
What Other Items Do Customers Buy After Viewing This Item?
Top Customer Reviews
- First, all the examples are based in the same context, a fireworks factory. Although it might seem a fun concept, it's terrible when the writer tries to "squeeze" all the patterns into this context. Some patterns don't really make any sense at all. The examples have complex details that include information that doesn't help a thing explaining the concepts. ex: in the Facade pattern (which is probably the simplest pattern), the writer creates an example based on the trajectory of a firework, and then spends 3 pages explaining parametric equations... ???
- The book has many chalenges, and although I find that a positive thing, I hate the way the writer tries to force the reader into those chalenges. Many patterns (almost all) don't include a complete UML model, because it has to be the reader to fill in the spaces of an incomplete diagram... It's very frustrating.
I really, really tried to like this book, and I understand the motivation behind some of the writer decisions, but I don't find this book helpful for beginners nor for advanced software architects... Pick Gof book and "Design Patterns Explained". These two are great books. If you want design patterns in c#, go to this link, it's much more helpful than "design patterns in c# Workbook":
Having read the book it has given me a basic understanding of the various Design Patterns, even if in a somewhat forced context, but I wish I had just purchased the original GoF book.
Like i said - i wanted to love this book and now i want to throw it away - i'm definately expensing this one!
Most Helpful Customer Reviews on Amazon.com (beta)
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.
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.
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.
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.
If you've been fascinated with the elegance and power of design patterns, yet sometimes struggle with exactly how and where to apply them, then the "light" will go on after reading this book.
Get this book first, then grab the classic "Gang of Four" work. You'll find your understanding of both books and design patterns in general greatly enhanced.
Look for similar items by category
- Books > Computing & Internet > Digital Lifestyle > Online Shopping > Amazon
- Books > Computing & Internet > Programming > Languages
- Books > Computing & Internet > Programming > Languages & Tools
- Books > Computing & Internet > Programming > Microsoft Windows
- Books > Computing & Internet > Programming > Software Design, Testing & Engineering > Design Patterns
- Books > Computing & Internet > Programming > Software Design, Testing & Engineering > Software Design
- Books > Computing & Internet > Programming > Software Design, Testing & Engineering > UML