Design Patterns is golden classics of software design books written by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides (aka Gang of Four – GoF). When this book was published first it was revolutionary because it contained still undocumented knowledge from software development field that needed some systematic work and organization on it. Today we see these patterns in many programs and developers on different platforms are more and more aware of these first defined design patterns. If you are software developer then this is must-have book for you.
Review
Design Patterns was the first book that gathered together and defined solutions in the form of patterns to most common problems in technical design of software. Patterns in this book are used today in almost every program and API to keep code clean, testable and manageable. Where these patterns came from? Directly from programming where they had different implementations. GoF just gathered these patterns together and generalized these.
I use this book often when I write or refactor code. Not all problems solve to patterns. Patterns are more like receipts – they point you to right direction but they don’t guarantee that they are the solution you are looking for. Same way you use receipts in cooking book – you know what you want, book gives just points you to right direction and it is up to you to get there.
Table of Contents
1. Introduction
2. A Case Study: Designing a Document Editor
3. Creational Patterns
4. Structural Patterns
5. Behavioral Patterns
6. Conclusion
A. Glossary
B. Guide to Notation
C. Foundation Classes
Patterns
Creational | Structural | Behavioral |
---|---|---|
Abstract Factory Builder Factory Method Prototype Singleton | Adapter Bridge Composite Decorator Facade Flyweight Proxy | Chain of Responsibilty Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method Visitor |