Design Patterns and over one million other books are available for Amazon Kindle . Learn more

Have one to sell? Sell yours here
Design Patterns: Elements of Reusable Object-Oriented Software
 
 
Start reading Design Patterns on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Design Patterns: Elements of Reusable Object-Oriented Software [Paperback]

Gamma
4.6 out of 5 stars  See all reviews (51 customer reviews)

Available from these sellers.


Formats

Amazon Price New from Used from
Kindle Edition £23.62  
Hardcover £31.49  
Paperback --  
Multimedia CD, Audiobook £32.11  
Amazon.co.uk Trade-In Store
Did you know you can trade in your old books for an Amazon.co.uk Gift Card to spend on the things you want? Plus, get an extra £5 Gift Certificate when you trade in books worth £10 or more before June 30, 2012. Visit the Books Trade-In Store for more details.


Product details

  • Paperback: 416 pages
  • Publisher: Pearson; 1st edition (2000)
  • Language English
  • ISBN-10: 8131700070
  • ISBN-13: 978-8131700075
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (51 customer reviews)
  • Amazon Bestsellers Rank: 802,103 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Authors

Discover books, learn about writers, and more.

Inside This Book (Learn More)
Browse and search another edition of this book.
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product)
 
(4)

Your tags: Add your first tag
 


Customer Reviews

Most Helpful Customer Reviews
87 of 93 people found the following review helpful
Format:CD-ROM
This book is compulsory reading with no real competition.

However it's very badly written. People often mention (without complaining? ) of what a lot of hard work this book is. In fact almost all the patterns are easy to grasp, but rubbish explanations in conjunction with inconsistent use of terminology and weak examples obscures each pattern to the extent that the reader's brain soon falls out of their head.

I can't point to any one example in the book since they are all as bad as each other. But re-reading the visitor pattern finally inspired this diatribe.

I can't understand how these guys have got away with it. It's absurd. There must be an unimaginable number of people who have given up on Design Patterns due to this book, seminal or not. What a shame. The value of patterns is almost incalculable.

If only Odell & Martin or Martin Fowler would condescend to give us something readable!

Was this review helpful to you?
21 of 22 people found the following review helpful
By A Customer
Format:Hardcover
This book really changed my way of thinking about object-oriented design. The idea is that when designing a new class hierarchy, though implementation details may differ, you often find yourself using the same kinds of solutions over and over again. Rather than approaching each design task out of context as an individual, isolated problem, the strategy is to study the task and identify the underlying design pattern most likely to be applicable, and follow the class structure outlined by that pattern. It's a "cookbook" school of design that works amazingly well.

There are other advantages to this book. It isolates 23 of the most common patterns and presents them in detail. You wouldn't think that 23 patterns would be enough, but once you become adept at recognizing patterns, you'll find that a large fraction of the patterns you use in practice are among these 23. For each pattern, the book carefully presents the intent of the pattern, a motivating example, consequences of using that pattern, implementation considerations and pitfalls, sample code (C++ or Smalltalk), known uses of that pattern in real-world applications, and a list of related patterns.

Upon first reading, you will start to recognize these patterns in the frameworks you see. Upon second reading, you'll begin to see how these patterns can help you in your own designs, and may also start to see new patterns not listed in the book. Once you become familiar with the pattern concept, you will be able to originate your own patterns, which will serve you well in the future. One of the most valuable contributions of this book is that it is designed not merely to help you identify patterns, but to give you a sense of which patterns are appropriate in which contexts.

I think this book is particularly valuable to many C++ and Java programmers, because of the dynamic and flexible design philosophy it follows. (Its two fundamental principles of reusable OO design are: "Program to an interface, not an implementation" and "Favor object composition over class inheritance".) I've found that many C++ books unfortunately tend to emphasize a rather static and inflexible design philosophy. Many C++ programmers do not realize how the language and the books they've studied from have been limiting their thinking until they have been exposed to ideas from other lanugages. The authors of this book have obviously been influenced by other languages as well, especially Smalltalk, and have brought many of its best lessons to C++ design. Most Java books seem to take after the C++ books, even though Java is a more dynamic language. This book may help Java programmers take full advantage of the extra power offered by their language, if they look deeply enough into some of the lesser-known features its runtime system affords.

Last, but not least, this book is valuable because it names the patterns it uses, and so gives programmers a common vocabulary to describe design concepts, rather than particular implementations. You'll find yourself saying things like, "That would be a good use for a Decorator", or "Should we use a Facade or a Mediator in this case?" I encourage readers of this book to use this vocabulary with other programmers.

In summary, this is one of the few books that I think belongs on every programmer's "must-have" list. Not to overuse a cliche, but like object-oriented design itself, the pattern concept is one of those rare paradigm-shifts in computer programming. It is equally valuable to expert professional and novice student alike. The book has a home page at http://st-www.cs.uiuc.edu/users/patterns/DPBook/DPBook.html.

Was this review helpful to you?
4 of 4 people found the following review helpful
By KJ
Format:Hardcover
I've worked in the IT industry exclusively since 2006 when I graduated from university. This book was required reading for the Design Patterns module I elected to do. Back to 2010 and I've found myself doing more OO and re-factoring of some complex code bases. I picked up my copy and realised just how out-dated the examples are, especially for developers using Java / C#. The examples might be more relevant to C++ developers but I find the book really heavy going and quite hard to digest.

Design patterns are not difficult and books like Head First Design Patterns are better introductions to Designs Patterns than the GoF book. Unfortunately the Head First series does not cover all the patterns in the GoF and the Head First book is not designed to be a reference book. That said I remember much more of what I read when compared to this text.

Unfortunately there is no alternative that provides essential coverage of some of the most common patterns used day to day.

In short if your new to patterns and have a limited budget go for the Head First Book, while not a reference its a much gentler introduction.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
Read it, place it in your bookshelf, read it again.
Read the times needed until you understand it enough. I've read it three times in three years, and I still feel that there are several things I don't understand enough. Read more
Published 1 month ago by J. I. Seco Sanz
Perfect Toolbos
I think it's a must have for every software designer/programmer, this book help you to understand the main patterns you are going to face along the way of coding and designing, and... Read more
Published 2 months ago by Mario A. Corchero
Highly suggested
I will keep my review short and to the point.
This seminal book is a must have for any object oriented programmer that is not satisfied with code that just works. Read more
Published 11 months ago by Andreas
De facto textbook on design patterns
The book is the de facto standard text book on design patterns, it goes through all the GoF (Gang of Four) design patterns, and examples of how to implement them (unfortunately the... Read more
Published 12 months ago by Jones
design patterns
Book was in good condition, a little old however it is an old text and was a reasonable price. Some comments written into the book however this didn't really bother me that much,... Read more
Published 13 months ago by Mr. Alexander F. Baker
This book should be mandatory for all software engineer students
A design pattern is a verified and correct solution to a well known problem or situation.

This book should be mandatory for all software engineer students. Read more
Published 14 months ago by Kartones
My design bible
This book is an essential text for anyone doing OO programming. I am a games programming student and have found many of these patterns incredibly useful. Read more
Published 14 months ago by rusty_boy
Must have for a c++ software architect
Despite this book was written 1994 it is still very actual. It is mainly a review of 23 disign programming patterns, which describes a need and puropse of their implementations. Read more
Published 19 months ago by B. Kujawski
'Encapsulates' software engineering
This book is a standard on the reading lists of many Computer Science academic courses throughout the world. Read more
Published on 17 May 2010 by A. Wakeman
Essential Book
This book is essential reading for all software engineers. The only reasons not to buy it, are:- A) you already own it, B) you have knowledge of every single pattern in the book,... Read more
Published on 8 Mar 2010 by Kyris
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Look for similar items by category


Feedback