
Design Patterns. Elements of Reusable Object-oriented Software
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides · first published 1999
9mentions
4recommended by
9HN commenters
2013–2024first – last mentioned
44% recommend56% neutral
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








…have most in digital and physical copies ~ - The C Programming Language (2nd edition) - Brian Kerningham / Denis Ritchie - The C++ Programming Language (4th edition which discuss C++11) - Stroustrup - Design Patterns Elements of Reusable Object-Oriented Software - GoF - Effective C++, Effective Modern C++ - Scott Meyers ~ Specifications ~ - C99 draft spec, C++11 draft spec (too cheap to buy official copies!)
on “Ask HN: What books do you keep on your desk?” ↗Very specific to OOP : "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides
on “Ask HN: Recommendations for a book about algorithms and data structures?” ↗The #1 book is "Design Patterns: Elements of Reusable Object-Oriented Software" by Gamma/ Helm / Johnson / Vlissides. It's about imperative programming though, functional/hybrid languages have other design patterns(but "Design Patterns" is #1 anyway). + Free Book "The Architecture…
on “Ask HN: How best to learn software design principles?” ↗…the time you won't implement complex generic algorithms. You will use them from libraries. These books will help you learn more about other important problems that software engineers face everyday: - Design patterns: Elements of Reusable Object Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides - Test Driven Development by Kent Beck - Code Complete (2) by Steve McConnell
on “Ask HN: Classic programming books to read over the summer?” ↗Revisionist history? The seminal work in Design Patterns (coined the term) came out in 1995 Design Patterns (Elements of Reusable Object-Oriented Software), Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 1995] Same year Java was invented. Hard to imagine Java inspired it.
on “Java's URL.equals() Performs DNS Resolution” ↗…It is just a direct consequence of the even more fundamental principle: "Program to an interface, not an implementation." [1] Gang of Four (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides): "Design Patterns: Elements of Reusable Object-Oriented Software" https://en.wikipedia.org/wiki/Design_Patterns
on “React: Mixins Considered Harmful” ↗…but GOF (Gang of Four) is a reference to the four authors of a classic Design Patterns text. [1] This repo appears to be Python examples of some of the patterns referenced in the original text. [1]: Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
on “The Most In-Demand Skills for Python Developers in 2019” ↗…senior overnight. However, the GoF book is not a book for fundamentals for a self taught developer. I will also point out that the quote that I have and that you've quoted again is from Erich Gamma... of Design Patterns: Elements of Reusable Object-Oriented Software by by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. The GoF book on design patterns is a book for how to solve a common set of problems using these common solutions. What it is not is…
on “Ask HN: The Required Fundamentals for Self-Taught Programming” ↗…information technology startups. For this last, venture partners listen up. Maybe the standard reference on design patterns is: o Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 'Design Patterns: Elements of Reusable Object-Oriented Software', ISBN 0-201-63361-2, Addison-Wesley, Reading, Massachusetts, 1995. Most of the rest of what is mentioned in the article is in any of, say, o Donald E. Knuth, 'The Art of…
on “The Trouble with CodeSchool” ↗