HomeGroupsTalkMoreZeitgeist
Search Site
This site uses cookies to deliver our services, improve performance, for analytics, and (if not signed in) for advertising. By using LibraryThing you acknowledge that you have read and understand our Terms of Service and Privacy Policy. Your use of the site and services is subject to these policies and terms.

Results from Google Books

Click on a thumbnail to go to Google Books.

Loading...

Design Patterns: Elements of Reusable Object-Oriented Software (1994)

by Erich Gamma, Richard Helm (Author), Ralph E. Johnson (Author), John M. Vlissides (Author)

Other authors: See the other authors section.

MembersReviewsPopularityAverage ratingMentions
3,416253,886 (4.13)6
Four software designers present a catalog of simple and succinct solutions to commonly occurring design problems, using Smalltalk and C++ in example code. These 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves. The authors begin by describing what patterns are and how they can help you design object-oriented software. They go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems.--From publisher description.… (more)
Loading...

Sign up for LibraryThing to find out whether you'll like this book.

No current Talk conversations about this book.

» See also 6 mentions

English (23)  Hungarian (1)  Dutch (1)  All languages (25)
Showing 1-5 of 23 (next | show all)
I wanted to make use of some of the ideas i learned from this book, but did not work in the kind of programing shop where I could do that. ( )
  mykl-s | Apr 11, 2023 |
What the book is about
Have you ever heard of design patterns? These are essential elements of object-oriented programming, and every programmer should know them.
The book will introduce you to this notion of design patterns. You will discover what they are, why every programmer should know them, how they can improve your programming, etc…
Then, the book will cover in a structured way and in detail each of the design patterns.

My thoughts
I think this book is good. But, there is too much information about each of the design patterns. It's impossible to remember everything or to take note of everything.
That's why I see this book more as a cheatsheet, or something you open only when you have a specific need and you want detailed information about something. In this case, if I want information about the Visitor pattern, I just open the book and I will find everything I need.
Also, this book is a lot theoretical. It includes some code examples, but not a lot. This is neither good nor bad because it meets different needs.

Who should read it
I think every programmer who has never heard about design patterns should read it. If you have ever heard of design patterns, it's not so useful to read this book, but it's useful to own it so that if you need information about one design pattern one day you can just find all the information you need in the book. ( )
  Esthiz | Feb 18, 2023 |
Great as always.
Very dense, a lot of food for thought. ( )
  NachoSeco | Oct 10, 2022 |
after A Pattern Language / Christopher Alexander classics
  ruit | Aug 9, 2022 |
Design Patterns is a very important reference and its contents are also important, but it is a rather dull book to read. This is mainly because the bulk of the book contains a catalog of patterns. Like most catalogs, it works better when you come to it looking for something specific.

I have two main criticisms of the patterns themselves, both of which stem more from the time the book was written than from any inherent problems with the patterns. First, each pattern contains a list of benefits and consequences. This section never considers the pattern from the view point of testability. This is a pity because most of the patterns, in my opinion, serve to make the relevant components easier to test.

A more serious complaint is that many of the patterns show their age by suggesting implementation inheritance as a good way of implementing these patterns. While implementation inheritance still has its place in the programmer's toolbox, current wisdom shies away from using it merely because it is convenient. Instead, current belief leans more toward preferring interfaces (in the Java sense of only defining operations and not implementations) and reserves implementation inheritance for when it provides a tangible benefit.

That said, most of the patterns still have a useful core, even if some of the details of pattern structure or implementation should be modified to fit better into common practice. Just remember though, if you want to read through it you need will power or a reading group (preferably both). ( )
  eri_kars | Jul 10, 2022 |
Showing 1-5 of 23 (next | show all)
no reviews | add a review

» Add other authors (26 possible)

Author nameRoleType of authorWork?Status
Gamma, ErichAuthorprimary authorall editionsconfirmed
Helm, RichardAuthormain authorall editionsconfirmed
Johnson, Ralph E.Authormain authorall editionsconfirmed
Vlissides, John M.Authormain authorall editionsconfirmed
Booch, GradyForewordsecondary authorsome editionsconfirmed

Belongs to Publisher Series

You must log in to edit Common Knowledge data.
For more help see the Common Knowledge help page.
Canonical title
Original title
Alternative titles
Original publication date
People/Characters
Important places
Important events
Related movies
Epigraph
Dedication
First words
Designing object-oriented software is hard, and designing reusable object-oriented software is even harder.
Quotations
Last words
Disambiguation notice
Publisher's editors
Blurbers
Original language
Canonical DDC/MDS
Canonical LCC
Four software designers present a catalog of simple and succinct solutions to commonly occurring design problems, using Smalltalk and C++ in example code. These 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves. The authors begin by describing what patterns are and how they can help you design object-oriented software. They go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems.--From publisher description.

No library descriptions found.

Book description
Haiku summary

Current Discussions

None

Popular covers

Quick Links

Rating

Average: (4.13)
0.5
1 1
1.5 2
2 16
2.5 1
3 94
3.5 13
4 185
4.5 14
5 203

Is this you?

Become a LibraryThing Author.

 

About | Contact | Privacy/Terms | Help/FAQs | Blog | Store | APIs | TinyCat | Legacy Libraries | Early Reviewers | Common Knowledge | 208,340,744 books! | Top bar: Always visible