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.