Back to the bookshelf

Typographic jacket · original cover not fetched

FROM THE SHARED SHELF · 2006–2026 SAMPLE

Design Patterns: Elements of Reusable Object-Oriented Software

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

5 readers recommend it across 3 discussions

Topics are model-inferred labels.

Keep it on your reading list

THE WORD OF MOUTH

What made it worth passing on?

Original Hacker News comments, in the readers’ own words.

hyperpallium
> build large systems DP are oft misused, but I think the main idea is a pattern language - a way to communicate to other developers what the architecture is. This is especially important on larger, more complex projects with more developers and developer turnover. Understanding the architecture of a project is crucial for grokking it, but usually not well documented. Even just "DPs are naming conventions" is helpful in this regard. I really disagree with the idea that most DPs are particularly clever or helpful - they are just the way you'd end up solving those kinds of problems yourself. If you look at your own pre-DP code, you'll see design patterns. What they give is a standardized terminology ("pattern language"). Sometimes an architecture seems more complex than necessary, but makes sense as you better understand the whole problem. e.g. how curl handles http. e.g. youtube-dl. (for me, when I reverse-engineered mini-versions of them, then studied their source) tl;dr "DPs are docs"
sebastianconcpt
A remarkable classic http://www.amazon.com/Design-Patterns-Elements-Reusable-Obje... (http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612) And Kent Beck's http://www.amazon.com/Smalltalk-Best-Practice-Patterns-Kent/... (http://www.amazon.com/Smalltalk-Best-Practice-Patterns-Kent/dp/013476904X)

Also recommended in this reply