skip to content
BooksReddit

Book · 1994

Design Patterns

by Erich Gamma

Four authors catalog twenty-three recurring object-oriented problems in 1994 and hand every future code review the same argument to have.

356
Total mentions
321
Unique Reddit accounts
case-insensitively deduplicated across the selected corpus
12,606
Total upvotes
sum of comment scores across recognized mentions — consensus weight; never changes rank
Mixed
Excerpt sentiment
3 positive · 1 mixed · 2 critical — 6 of 24 excerpts take a position
13
Subreddits
where it's mentioned

Catalogue record: Open Library · ★ 4.0 (34 ratings)

What does Reddit think of Design Patterns?

The two excerpts that actually engage with the book by name pull in opposite directions. A ↑335 r/programming comment credits the Gang of Four specifically with putting composition over inheritance into circulation back in the early nineties — the idea predates the book, the currency doesn't. A ↑179 comment in the same subreddit blames the book, or at least its readers, for code nobody else can parse: people 'shoving GoF design patterns into every available orifice.' Both can be true at once. The 23 patterns aren't controversial on their own terms. How people apply them clearly still is, thirty years on.

Community feedback & reader fit

Themes

  • · Object-oriented design vocabulary shared across teams
  • · Composition over inheritance as a structural default
  • · Reusable solutions to recurring structural problems
  • · The risk of pattern over-application
  • · Canonical status in computer-science reading lists

Common praise

  • + A ↑335 r/programming comment credits the book specifically with putting composition-over-inheritance into circulation decades before most current framework debates started.
  • + Shows up unprompted across reading-list threads in r/programming and r/learnprogramming, the kind of book people list without needing to justify it.
  • + Gives teams a shared vocabulary; once two engineers have both read it, arguments move to the level of strategy-versus-visitor instead of starting from zero.

Common criticism

  • − A ↑179 r/programming comment is blunt about the failure mode: readers 'shoving GoF design patterns into every available orifice' whether or not the code needs them.
  • − r/programming's own aggregate sentiment runs slightly negative, the only subreddit in the dataset where that's true.
  • − Most reading-list mentions across r/learnprogramming and r/cscareerquestions are bare inclusions with no annotation attached — the book gets listed, not discussed.
  • − Yearly mention volume has barely moved in seven years, thirty-something a year with no clear direction, which reads more like institutional habit than sustained enthusiasm.

Who it's for

Bring this into a code review where the same structural argument keeps resurfacing, and it at least gives the disagreement a name. r/ExperiencedDevs treats it as background knowledge rather than something to actively reread, which is probably the right way to hold it. If your instinct after finishing a chapter is to find somewhere to use that pattern immediately, the ↑179 r/programming comment is describing you, not flattering you. Skip the code samples themselves; nobody in this dataset cites 1994-era C++ as a reason to pick it up.

Mentions over time

Q1 2019 peak: 22/qtr Q1 2026

Top subreddits

Which Reddit comments matter for Design Patterns?

The most relevant excerpts across the subreddits where this book is mentioned — opinionated, argued takes first, then top-upvoted mentions. Click through to read the full thread.

“

What I would call the classics: * Design Patterns - Elements of Reusable Object-Oriented Software * Code Complete * Rapid Development * The Pragmatic Programmer * The Mythical Man-Month * Operating Systems Design and Implementation * Refactoring - Improving the Design of Existing Code * The Algorith…

r/learnprogramming ↑ 674 Not scored
“

Here's the list, for anyone interested in just that: 1. The Pragmatic Programmer by David Thomas & Andrew Hunt (67% recommended) 2. Clean Code by Robert C. Martin (66% recommended) 3. Code Complete by Steve McConnell (42% recommended) 4. Refactoring by Martin Fowler (35% recommended) 5. Hea…

r/programming ↑ 655 Not scored
“

The best way to be a good writer is to read a lot and write a lot. It is no different with software. I would recommend reading a lot of the big python projects on github. Most of good software engineering is making sure your code is flexible to quickly adapt in the face of changing requirements. So …

r/learnprogramming ↑ 373 Not scored
“

The Gang of Four patterns book, published in the early ‘90s recommended composition over inheritance. The idea is older than that.

r/programming ↑ 335 critical
“

Ok. First of all, open source code that people use are very complex. Don't put your expectations there right away. It's actually why I dislike "just contribute to open source": if open source means working with your friend, sure. However, many popular real world open source (that one is small) take…

r/learnprogramming ↑ 294 Not scored
“

First off, you're NOT a failure. You're at the starting line, and most people NEVER even make it this far. A CS degree? That's your WEAPON. But right now, you're not wielding it - you're letting it collect dust. The AI crutch you're using? CUT IT OUT. Immediately. You know why? Because you're steal…

r/learnprogramming ↑ 287 Not scored
“

Here's my list of the classics: **General Computing** * But How Do It Know? - The Basic Principles of Computers for Everyone * The Elements of Computing Systems: Building a Modern Computer from First Principles * […

r/learnprogramming ↑ 257 Not scored
“

These two are my picks: * Design Patterns: Elements of Reusable Object-Oriented Software * Code Complete: A Practical Handbook of Software Construction

r/learnprogramming ↑ 229 Not scored
“

I've read a lot of books. But mainly, I've applied what I've read in a - pretty huge - personal project (about 100k lines of C++) - it's at www.controlmedia.art if you're curious. I've found that at work trying new things out is not always called for, depending on th…

r/ExperiencedDevs ↑ 195 Not scored
“

The missed moral of the story is **stop writing code your colleagues can't understand** \- no matter whether you're an off-the-deep-end FP zealot or a Java weenie trying to shove GoF design patterns into every available orifice.

r/programming ↑ 179 critical
“

Write and read lots of code. Read DDIA by Kleppman Read Head first Design patterns (do not use these liberally! It’s only to be come familiar with some patterns people have used over time to solve problems.) Extras: Learn Functional Programming Learn TDD Learn DDD These aren’t a silver bullet…

r/cscareerquestions ↑ 174 mixed
“

>medical device software. I've worked on medical devices for 15 years. If you have every stayed overnight in the hospital 1000% you have used something a company I've worked for has created. The code quality is s*** because it's all driven by FDA guidance. So you do just enough to check the box …

r/ExperiencedDevs ↑ 155 Not scored
“

Head First Java is a great intro book. Then do head first design patterns (in Java)... Data Structures and Problem Solving using Java and Java in a Nutshell Should give you a decent foundation

r/cscareerquestions ↑ 131 positive
“

Cool, because the biggest hurdles in data science these days are software engineering related and not statistics or ML related. I'd recommend Clean Code by Robert C. Martin, Robert Martin and Design Patterns by Erich Gamma et al. The rest is learning by doing. Good luck

r/datascience ↑ 98 positive
“

The standard list is: * Designing Data Intensive Applications * Pragmatic Programmer * Clean Code * Working Effectively with Legacy Code * Code Complete * Refactoring * Head first Design Patterns (I don't think it needs to be the head first one these days as there's a bunch of design pattern books…

r/ExperiencedDevs ↑ 83 positive

Readers also mention

Books that share discussion threads with Design Patterns — counted from the comments, not curated.

Guides featuring Design Patterns

Ranked best-of lists and editorial guides where this book's tracked mentions place it.

Design Patterns — frequently asked

Is Design Patterns still worth reading in 2026?+

r/ExperiencedDevs mentions sit at roughly even sentiment — not enthusiastic, not dismissive. The concepts hold up better than the code: a ↑335 comment traces composition-over-inheritance back to this book specifically, decades before it became conventional wisdom. Read it for vocabulary, not the Smalltalk examples.

Does Design Patterns cause programmers to overuse design patterns?+

That's the sharpest argument in the dataset. A ↑179 r/programming comment blames exactly that: engineers 'shoving GoF design patterns into every available orifice' whether or not the code calls for it. It's framed there as a reader failure, not a flaw in the book's actual claims.

What does Reddit actually think of Design Patterns?+

Mostly flat. It gets recommended constantly and argued about rarely; the closest thing to heat is the ↑179 comment about over-application.

Where does the composition-over-inheritance idea in Design Patterns come from?+

Reddit treats it as older than the book but popularized by it. A ↑335 r/programming comment specifically notes the Gang of Four recommended composition over inheritance in the early '90s, while pointing out the underlying idea predates that publication.