- Hardcover: 395 pages
- Publisher: Addison-Wesley Professional; 1 edition (November 10, 1994)
- Language: English
- ISBN-10: 0201633612
- ISBN-13: 978-0201633610
- Product Dimensions: 7.4 x 1 x 9.4 inches
- Shipping Weight: 1.9 pounds (View shipping rates and policies)
- Average Customer Review: 484 customer reviews
Amazon Best Sellers Rank:
#7,204 in Books (See Top 100 in Books)
- #1 in Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Reuse
- #3 in Books > Computers & Technology > Computer Science > AI & Machine Learning > Computer Vision & Pattern Recognition
- #4 in Books > Textbooks > Computer Science > Object-Oriented Software Design
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Design Patterns: Elements of Reusable Object-Oriented Software 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Top 20 lists in Books
View the top 20 best sellers of all time, the most reviewed books of all time and some of our editors' favorite picks. Learn more
Frequently bought together
Customers who bought this item also bought
Design Patterns is a modern classic in the literature of object-oriented development, offering timeless and elegant solutions to common problems in software design. It describes patterns for managing object creation, composing objects into larger structures, and coordinating control flow between objects. The book provides numerous examples where using composition rather than inheritance can improve the reusability and flexibility of code. Note, though, that it's not a tutorial but a catalog that you can use to find an object-oriented design pattern that's appropriate for the needs of your particular application--a selection for virtuoso programmers who appreciate (or require) consistent, well-engineered object-oriented designs.
This book isn't an introduction to object-oriented technology or design. Many books already do a good job of that...this isn't an advanced treatise either. It's a book of design patterns that describe simple and elegant solutions to specific problems in object-oriented software design....Once you understand the design patterns and have had an "Aha!" (and not just a "Huh?" experience with them, you won't ever think about object-oriented design in the same way. You'll have insights that can make your own designs more flexible, modular, reusable, and understandable--which is why you're interested in object-oriented technology in the first place, right? -- From the Preface
This is one of the best written and wonderfully insightful books that I have read in a great long while...this book establishes the legitimacy of patterns in the best way: not by argument, but by example. -- C++ Report
Browse award-winning titles. See more
Top customer reviews
As it is said, it is not extrememly pragmatic and has no "industrial" point of view: there are not a lot of examples of applications for software development. Well, this book is "general".
It is well presented, well written, and is perfectly suited to be used as a "reference" for beginners, intermediates and even advanced Object-Oriented programmers. It could be considered as a dictionnary for most common design patterns. Not much detailed, but very good as a standard.
If you know how traditional mechanical/electrical/civil engineers work, they always have a reference design manual handy. This book serves the same purpose to a good extent.
Beware, the contents are pretty loaded and you may want to dwell on one pattern for some time, few days maybe, before moving onto the next- this book isn't something you can read even in a few sittings. The authors duely recognize this and nicely identify what set of patterns to start with depending on the experience of the reader.
The only complaint I may have of this book is the nature of examples (Singleton pattern example is one). I wish the authors used more business application examples much like a reservation or purchase order system as it would appeal to a larger developer base (IMHO).
With all the failures of the project still fresh in my mind, it was easy to appreaciate how useful the book was. We could have used many of the concepts in the book in that project.
And here is the catch of this type of book: it is not appreciated until you go through a project wihtout it. Giving it to a college student as reading assignment will be a waste of time. It is more useful to the professional with some experience under the belt.
Unfortunately, it remains little read by professional programmers. It deserves a lot more attention and careful study.
However reading it will make you understand where different constructs in modern languages come from and give you a deeper understanding of why some projects are structured they way they are.
The book is laid out super well and gives lots of details and info
All that said, I'm in the process of re-reading the book now. I had no prior knowledge of patterns prior to my first read of the book and I really struggled to conceptualize and understand what the book was telling me. Nearly a year later and after several courses on Coursera (a MOOC) that Doug taught, I "get" patterns much better and am planning to re-read this book now and have a strong suspicion it'll make much more sense the second time through.
Most recent customer reviews
This book provides a good share of wisdom about modern systems.Read more