skip to content
BooksReddit

Book · 1994

Design Patterns

by Erich Gamma

The 1994 Gang of Four catalog that named 23 object-oriented patterns, gave developers a shared vocabulary, and taught a generation to over-apply both.

308
Total mentions
283
Unique Reddit accounts
case-insensitively deduplicated across the selected corpus
+0.06
Avg sentiment
scored published excerpts: −1 pan ↔ +1 praise
13
Subreddits
where it's mentioned

What does Reddit think of Design Patterns?

The sharpest critique lives in r/programming's ↑179 comment: "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." The 23 patterns are not controversial. Their application is.

Community feedback & reader fit

Themes

  • · Object-oriented design patterns and shared vocabulary
  • · Composition over inheritance
  • · Software reusability and structural flexibility
  • · Career reading lists and professional canon
  • · Criticism of pattern over-application

Common praise

  • + r/ExperiencedDevs credits it with establishing composition-over-inheritance as a first principle before most developers were born — the ↑335 r/programming comment notes the book recommended it 'in the early nineties.'
  • + The shared vocabulary pays off in code reviews: colleagues who have read it argue at the pattern level instead of relitigating structure from scratch.
  • + Appears in nearly every serious recommendation list across r/learnprogramming and r/programming, which is its own kind of endorsement after 30 years.

Common criticism

  • − The ↑179 r/programming comment puts the real objection plainly: forcing GoF patterns into every available orifice produces code that colleagues cannot understand.
  • − r/cscareerquestions mentions it 81 times at flat neutral — it reads as a credential signal rather than a book anyone is excited to defend.
  • − The C++ and Smalltalk code examples have aged badly enough that most readers need a translation layer before the patterns make sense in their own stack.
  • − Several r/learnprogramming threads list it without annotation, which suggests it survives on reputation more than on what contemporary readers are getting from it.

Who it's for

If your team keeps re-arguing the same structural decisions in every code review, this is the book that gives those arguments a name and sometimes a resolution. Senior engineers in r/ExperiencedDevs treat it as foundational context rather than an active reference. Read it for the vocabulary; skip the code examples, which are period artifacts. Juniors who try to apply every pattern immediately will produce exactly the kind of code the ↑179 r/programming comment mocks. If you work in a language with modern idioms that already bake in several of these patterns, some chapters will feel like archaeology.

Mentions over time

Q1 2019 peak: 19/qtr Q1 2026

Top subreddits

Which Reddit comments matter for Design Patterns?

Top-upvoted quotes across the subreddits where this book is mentioned. Click through to read the full thread.

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 positive

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

r/programming ↑ 335 positive

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 mixed

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

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 mixed

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

Readers also mention

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

Design Patterns — frequently asked

Is Design Patterns still worth reading in 2026?+

Depends on what you want from it. The code examples are dated C++ and Smalltalk, but the pattern vocabulary still shows up in technical interviews and code reviews. Read it for the concepts; do not use the sample code as a template.

What does Reddit actually think of Design Patterns?+

The sharpest criticism comes from r/programming, where the ↑179 comment specifically warns against over-applying GoF patterns. Nobody argues the book is wrong; they argue that misreading it produces worse code than not reading it.

Should I read Design Patterns before or after Clean Code?+

Either order works, but they address different problems. r/learnprogramming mentions both in the same recommendation lists — Clean Code at 66% recommended in one ↑655 thread, Design Patterns nearby. Clean Code is about line-level legibility; Design Patterns is about structural vocabulary. Mid-career engineers arguing about architecture will find Design Patterns the more immediately applicable one.

Is Design Patterns responsible for pattern over-engineering?+

The book gets blamed for behavior it warns against. The ↑335 r/programming comment notes the GoF recommendation for composition over inheritance predates most modern debates. The ↑179 comment mocking patterns shoved 'into every available orifice' is criticizing a reader failure mode, not the book's argument.