Design Patterns: Elements of Reusable Object-Oriented Software

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: Elements of Reusable Object-Oriented Software
Design Patterns: Elements of Reusable Object-Oriented Softwarealt

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


Leave a Reply

Your email address will not be published. Required fields are marked *