Skip to content

Design Patterns Book Published (Gang of Four)

October 1994.Software.Standard published.Date precision, month.Evidence grade, primary.1 primary source

Drivers:

StandardisationInteroperability need

Growing OO adoption needed design guidance. Enterprise development required transferable expertise. The pattern community sought to codify best practices.

Design patterns are tried-and-tested solutions to common programming problems. Instead of inventing solutions from scratch, developers can use patterns like 'Factory' (creating objects), 'Observer' (notifications), or 'Strategy' (swappable algorithms). The 'Gang of Four' book named 23 patterns that developers still use today.

Design Patterns Book Published (Gang of Four) event plate

Structured atlas record showing date, domain, evidence grade, source count, and predecessor and successor links.

Event plate: Design Patterns Book Published (Gang of Four) Convergence-divergence layout. The central hero card carries the event year, type, title, evidence grade, domain and era band. 0 predecessor cards on the left feed in with red arrows labelled "absorbs". 0 successor cards on the right derive with red arrows labelled "spawns". Key terms below the hero pin the vocabulary the event introduced. EVENT PLATE Source: computerhistory.org 1994 - STANDARD PUBLISHED Design Patterns BookPublished (Gang of Four) primary evidence Domain: AI and machine learning Era band: E6 AI-scale systems KEY TERMS - VOCABULARY THE EVENT INTRODUCED design patterns Gang of Four Factory Singleton Convergence-divergence: predecessors absorbed, successors spawned Hero card carries year, evidence and domain. 0 predecessors flow in from the left; 0 successors flow out to the right. Key termsbelow pin the vocabulary the event introduced.

Forecasts and counterfactuals stay labelled as opinion in the event data. Source: Computer History Museum.

Before

Object-oriented programming was growing but design expertise was hard to transfer. Developers repeatedly solved similar problems without shared vocabulary. Best practices were scattered across individual experience.

What changed

The 'Gang of Four' (GoF) book catalogued 23 design patterns for object-oriented software. It established patterns as a way to communicate design expertise. The vocabulary (Factory, Singleton, Observer, Strategy, etc.) became universal among developers.

How it happened

Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides published 'Design Patterns: Elements of Reusable Object-Oriented Software' in October 1994. Drawing on Christopher Alexander's architectural patterns, they codified common OO design solutions. The book sold over 500,000 copies.

Outcomes

  • Created shared vocabulary for software design
  • Established patterns as knowledge transfer mechanism
  • Influenced frameworks and libraries design
  • Sparked pattern movement (enterprise, integration, etc.)

Limitations

  • Some patterns less relevant in modern languages
  • Overuse can lead to unnecessary complexity
  • C++/Smalltalk focus dated some examples
  • Patterns can be cargo-culted without understanding

Lessons learnt

  • Named solutions enable communication
  • Patterns capture design trade-offs
  • Context determines pattern applicability
  • Vocabulary shapes how we think about design

Stakeholders and artefacts

Individuals

  • Erich GammaAuthor, TaligentCo-authored Design Patterns book
  • Richard HelmAuthor, IBMCo-authored Design Patterns book
  • Ralph JohnsonAuthor, University of IllinoisCo-authored Design Patterns book
  • John VlissidesAuthor, IBMCo-authored Design Patterns book

Artefacts

  • Design PatternsmethodologyReusable solutions to common design problems
  • Gang of Four Patternsspecification23 patterns: Creational, Structural, Behavioural

Key terms

design patternsGang of FourFactorySingletonObserverStrategy

Causality

Preceded by: Waterfall Model Described (and Critiqued).

Made possible: Agile Manifesto Published.

On this course

Read in the path Software Development: Waterfall to DevOps.

Sources

1Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. "Design Patterns: Elements of Reusable Object-Oriented Software". Addison-Wesley, 1994-10.peer reviewed