Design Patterns and over 900,000 other books are available for Amazon Kindle . Learn more


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime free trial required. Sign up when you check out. Learn more
More Buying Choices
Have one to sell? Sell yours here
or
Get a £11.10 Amazon.co.uk Gift Card
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 [Hardcover]

Erich Gamma , Richard Helm , Ralph Johnson , John Vlissides
4.6 out of 5 stars  See all reviews (49 customer reviews)
RRP: £41.99
Price: £29.05 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £12.94 (31%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon.co.uk. Gift-wrap available.
Want guaranteed delivery by Saturday, February 11? Choose Express delivery at checkout. See Details

Formats

Amazon Price New from Used from
Kindle Edition £21.79  
Hardcover £29.05  
Paperback --  
Multimedia CD, Audiobook £37.78  
Trade In this Item for up to £11.10
Trade in Design patterns : elements of reusable object-oriented software for an Amazon.co.uk gift card of up to £11.10, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Find more products eligible for trade-in.

Frequently Bought Together

Customers buy this book with Refactoring: Improving the Design of Existing Code (Object Technology Series) £29.61

Design patterns : elements of reusable object-oriented software + Refactoring: Improving the Design of Existing Code (Object Technology Series)
Price For Both: £58.66

Show availability and delivery details



Product details

  • Hardcover: 416 pages
  • Publisher: Addison Wesley; 1 edition (31 Oct 1994)
  • Language English
  • ISBN-10: 0201633612
  • ISBN-13: 978-0201633610
  • Product Dimensions: 23.6 x 19.4 x 2.6 cm
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (49 customer reviews)
  • Amazon Bestsellers Rank: 3,334 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Authors

Discover books, learn about writers, and more.

Product Description

Amazon.co.uk Review

Design Patterns is based on the idea that there are only so many design problems in computer programming. This book identifies some common program-design problems--such as adapting the interface of one object to that of another object or notifying an object of a change in another object's state--and explains the best ways (not always the obvious ways) that the authors know to solve them. The idea is that you can use the authors' sophisticated design ideas to solve problems that you often waste time solving over and over again in your own programming.

The authors have come up with some ingenious ways to solve some common vexations among object-oriented programmers. Want to build a page-layout program that embeds inline images among characters of various sizes? How about building a program that converts files of one format to another? Chances are, some programmer already has thought of a better solution than you will and the recipes you need are here. Solutions are presented in generalised diagrams of data and logic structures. The idea is that you can take the concepts presented here and adapt them--in whatever language you use--to your individual situation. You may have to read some of the chapters several times before you fully understand them, but when you find a solution in this book, it will make your job easier and your results more elegant. --Jake Bond

Product Description

  • Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, 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 then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently.


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

Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(6)

Your tags: Add your first tag
 

What Other Items Do Customers Buy After Viewing This Item?


 

Customer Reviews

49 Reviews
5 star:
 (35)
4 star:
 (11)
3 star:
 (1)
2 star:
 (1)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
4.6 out of 5 stars (49 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

86 of 92 people found the following review helpful:
2.0 out of 5 stars a must-read that is also a must-rewrite, 5 May 2000
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!

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


21 of 22 people found the following review helpful:
5.0 out of 5 stars The best way to really learn object-oriented design, 7 Mar 1997
By A Customer
This review is from: Design patterns : elements of reusable object-oriented software (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.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4 of 4 people found the following review helpful:
5.0 out of 5 stars This is the one the others talk about, 10 Oct 2006
By 
Justin Taylor "Justo" (Sydney) - See all my reviews
(REAL NAME)   
This review is from: Design patterns : elements of reusable object-oriented software (Hardcover)
I read a couple of design patterns books before this one and quickly realised that I need to get this book as soon as possible. The others I've read all referenced it and as a design patterns catalog it presents patterns in the purest form. It is extremely easy to read in terms of clarity and layout and certainly in a format that will appeal to programmers. Although most examples are either in C++ or SmallTalk you should have no problem keeping up if you specialise in other languages including scripting languages like PHP5.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
Would you like to see more reviews about this item?
 Go to Amazon.com to see all 294 reviews  4.5 out of 5 stars 
Were these reviews helpful?   Let us know
 
 
Most Recent 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


Look for similar items by subject


Feedback


Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges