Start reading Design Patterns on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here.

Deliver to your Kindle or other device

 
 
 

Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

Read books on your computer or other mobile devices with our FREE Kindle Reading Apps.
Design Patterns: Elements of Reusable Object-Oriented Software
 
 

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

Erich Gamma , Richard Helm , Ralph Johnson , John Vlissides
4.5 out of 5 stars  See all reviews (56 customer reviews)

Print List Price: £38.99
Kindle Price: £20.47 includes VAT* & free wireless delivery via Amazon Whispernet
You Save: £18.52 (47%)
* Unlike print books, digital books are subject to VAT.

Formats

Amazon Price New from Used from
Kindle Edition £20.47  
Hardcover £27.29  
Paperback --  
Multimedia CD, Audiobook £31.16  


Product Description

Amazon 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.

Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.


Product details


More About the Authors

Discover books, learn about writers, and more.

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

Most Helpful Customer Reviews
8 of 8 people found the following review helpful
3.0 out of 5 stars In need of a re-write 9 Oct 2010
By KJ
Format:Hardcover|Amazon Verified Purchase
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?
93 of 100 people found the following review helpful
2.0 out of 5 stars a must-read that is also a must-rewrite 5 May 2000
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?
6 of 6 people found the following review helpful
5.0 out of 5 stars This is the one the others talk about 10 Oct 2006
Format: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.
Comment | 
Was this review helpful to you?
Would you like to see more reviews about this item?
Were these reviews helpful?   Let us know
Most Recent Customer Reviews
2.0 out of 5 stars Wait for the 2nd edition (if there ever is one)
This book was obviously seminal in 1994 when it was published but it is now VERY dated! The chapter on "How design patterns solve design problems" is useful as an answer to... Read more
Published 24 days ago by Ian Rogers
4.0 out of 5 stars very good book
The Design Pattern bible (apparently) written by the famous "Gang of Four".
Descriptions are very good and well explained. Read more
Published 1 month ago by shahin
4.0 out of 5 stars Good book, if a little dry
Great reference book, with all the major design patterns explained. It's a little dry but it is meant as a reference.
Published 1 month ago by DesignPatternsbuyer
1.0 out of 5 stars Sometimes you know yoiu have wasted your money this is it!
Very very badly written, the authors seems to make simple ideas complicated for no good reason.

Design patterns are an excellent concept, and have used them in the past... Read more
Published 5 months ago by Brian Morris
5.0 out of 5 stars Excellent book from a novice developer's perspective
If you are total newbie with OOP programming this book isn't for you. If you know and understand and even better use/implement, without problems, OOP concepts like polymorphism,... Read more
Published 8 months ago by Sotiris Ganouris
5.0 out of 5 stars 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 13 months ago by J. I. Seco Sanz
5.0 out of 5 stars 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 14 months ago by Mario A. Corchero
5.0 out of 5 stars 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 23 months ago by Andreas
4.0 out of 5 stars 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 on 14 May 2011 by Jones
5.0 out of 5 stars 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 on 28 April 2011 by Mr. Alexander F. Baker
Search Customer Reviews
Only search this product's reviews

Popular Highlights

 (What's this?)
&quote;
Creational patterns concern the process of object creation. Structural patterns deal with the composition of classes or objects. Behavioral patterns characterize the ways in which classes or objects interact and distribute responsibility. &quote;
Highlighted by 39 Kindle users
&quote;
An object’s class defines how the object is implemented. The class defines the object’s internal state and the implementation of its operations. In contrast, an object’s type only refers to its interface—the set of requests to which it can respond. An object can have many types, and objects of different classes can have the same type. &quote;
Highlighted by 39 Kindle users
&quote;
Class patterns deal with relationships between classes and their subclasses. These relationships are established through inheritance, so they are static—fixed at compile-time. Object patterns deal with object relationships, which can be changed at run-time and are more dynamic. &quote;
Highlighted by 37 Kindle users

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
   



Look for similar items by category


Amazon Media EU S.à r.l. Privacy Statement Amazon Media EU S.à r.l. Delivery Information Amazon Media EU S.à r.l. Returns & Exchanges