Summaries for the patterns in the GoF book

This reference is a personal summary. My interpretation of the patterns could be wrong or missing some critical nuance, making the criticisms invalid. The original source is the GoF book[GoF94], Design Patterns: Elements of Reusable Object-Oriented Software. In some cases, I have attempted to critique a pattern and added notes addressing my concerns. All these summaries and notes are my interpretations and opinions.

The order of presentation is different to that of the GoF book. I want every pattern to make sense to the reader as they read the reference from start to end. This means the list is not in the original or alphabetical order. The list is in a loose order of interdependency. With this ordering, in almost all cases, I have been able to describe a pattern without referencing a pattern not yet defined. The exception is the closely coupled pair of patterns Command and Memento. For those, I put them right next to each other. Otherwise, the ordering is somewhat arbitrary.

  1. Factory Method
  2. Singleton
  3. Builder
  4. Prototype
  5. Strategy
  6. Template Method
  7. Abstract Factory
  8. Composite
  9. Adapter
  10. Bridge
  11. Decorator
  12. Façade
  13. Flyweight
  14. Proxy
  15. Chain of Responsibility
  16. Command
  17. Memento
  18. Interpreter
  19. Visitor
  20. Iterator
  21. Observer
  22. Mediator
  23. State