Programming Books C Java PHP Python Learn more Browse Programming Books
Buy Used
FREE Shipping on orders over $35.
Used: Very Good | Details
Condition: Used: Very Good
Comment: Crisp, attractive copy. FREE SHIPPING w/AMAZON PRIME!
Access codes and supplements are not guaranteed with used items.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Design Patterns Explained: A New Perspective on Object-Oriented Design Paperback – July 9, 2001

ISBN-13: 078-5342715941 ISBN-10: 0201715945 Edition: 1st

Price: $3.99
10 New from $3.01 41 Used from $0.01
Amazon Price New from Used from
"Please retry"
$3.01 $0.01

Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Series: Software Patterns Series
  • Paperback: 368 pages
  • Publisher: Addison-Wesley Professional; 1st edition (July 9, 2001)
  • Language: English
  • ISBN-10: 0201715945
  • ISBN-13: 978-0201715941
  • Product Dimensions: 7.4 x 0.7 x 9.2 inches
  • Shipping Weight: 13.6 ounces
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (69 customer reviews)
  • Amazon Best Sellers Rank: #1,382,719 in Books (See Top 100 in Books)

Editorial Reviews

From the Back Cover

"...I would expect that readers with a basic understanding of object-oriented programming and design would find this book useful, before approaching design patterns completely. Design Patterns Explained complements the existing design patterns texts and may perform a very useful role, fitting between introductory texts such as UML Distilled and the more advanced patterns books."
--James Noble

Design Patterns Explained: A New Perspective on Object-Oriented Design draws together the principles of object-oriented programming with the power of design patterns to create an environment for robust and reliable software development. Packed with practical and applicable examples, this book teaches you to solve common programming problems with patterns--and explains the advantages of patterns for modern software design.

Beginning with a complete overview of the fundamentals of patterns, Design Patterns Explained stresses the importance of analysis and design. The authors clearly demonstrate how patterns can facilitate the overall development process. Throughout the book, key object-oriented design principles are explained, along with the concepts and benefits behind specific patterns. With illustrative examples in C++ and Java, the book demystifies the "whys," "why nots," and "hows" of patterns and explains pattern implementation.

Key topics covered include:

  • New perspectives on objects, encapsulation, and inheritance
  • The idea of design patterns, their origins, and how they apply in the discipline of software design
  • Pattern-based, object-oriented software development using the Unified Modeling Language (UML)
  • How to implement critical patterns--Strategy, Observer, Bridge, Decorator, and many more
  • Commonality/Variability Analysis and design patterns, and how they aid in understanding abstract classes

From analysis to implementation, Design Patterns Explained allows you to unleash the true potential of patterns and paves the path for improving your overall designs. This book provides newcomers with a genuinely accurate and helpful introduction to object-oriented design patterns.


About the Author

Alan Shalloway is the founder, CEO, and principal consultant of Net Objectives, an object-oriented consulting/training organization. He has a master's degree in computer science from MIT, over thirty years of experience in software development, and several years of experience in mentoring and training. He spends much of his time offering courses in design patterns, OOA, OOD, and lightweight methodologies, and building advanced software for both his own company and his clients.

James R. Trott is a senior consultant for a large software company in the Pacific Northwest and formerly was a senior engineer for a large aerospace company. He holds a master of science in applied mathematics, an MBA, and a master of arts in intercultural studies. He has spent seventeen years in the field of artificial intelligence, knowledge modeling, and knowledge management and is an expert in using cognitive design patterns and the KADS methodology.


More About the Author

Alan Shalloway is the founder and CEO of Net Objectives. With over 40 years of experience, Alan is an industry thought leader in Lean, Kanban, product portfolio management, Scrum and agile design (see for useful information on these and other topics). He helps companies transition to Lean and Agile methods enterprise-wide as well teaches courses in these areas. Alan has developed training and coaching methods for Lean-Agile that have helped Net Objectives' clients achieve long-term, sustainable productivity gains.

Alan is a popular speaker at prestigious conferences worldwide. He is the primary author of Design Patterns Explained: A New Perspective on Object-Oriented Design, Lean-Agile Pocket Guide for Scrum Teams, Lean-Agile Software Development: Achieving Enterprise Agility and Essential Skills for the Agile Developer.

Alan has worked in dozens of industries over his career. He is a co-founder and board member for the Lean Software and Systems Consortium. He has a Masters in Computer Science from M.I.T. as well as a Masters in Mathematics from Emory University.

Follow Alan on twitter @alshalloway

Customer Reviews

This is a very easy book to read.
Blue Cat
There will be many "oh, yeah!" moments reading the book, as if your eyes were opened.
Chad Lehman
I first tried to read the GoF book.
Felix Matathias

Most Helpful Customer Reviews

112 of 114 people found the following review helpful By Yu H. Chou on December 7, 2001
Format: Paperback
There are 2 ways of learning new concepts and principles:
1. learn principles first, then try to use them
2. observe good implementations first, then learn to appreciate the principles behind them
The authors successfully convince me that the 2nd way is the better way of learning a paradigm like OO. The authors first give us a little principles (Chapter 1), and then intorduce to us the good designs one by one (Part III, IV, V). While explaining these good design solutions (design patterns), authors didn't forget to stop and show us what we have been through, and the principles we can draw from our experience.
This is really a joyful and mind-shifting reading.
This book is not trying to teach you everything about design pattern and OO. But it lays a very sold foundation in your brain, and force you to think in a new perspective.
Of course, you should read GoF after or along with reading this one.
Also recommend:
Craig Larman: Applying UML and Design Pattern (this book puts the things you learned into real developement process)
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
108 of 110 people found the following review helpful By Michael Wade on June 1, 2002
Format: Paperback Verified Purchase
I have read the Gang of Four book, which I highly respect and view as a kind of Bible for Patterns. The analogy is apt in that you don't read the Bible once, expecting to "get it" the first time through. You need to read, re-read, read commentaries and explainations. And even so, I found the patterns nebulous. Don't get me wrong! The G of Four book is a must have. But this is the first book that took me from the beginning to the end, explaining in concrete examples that I could understand. One of the key points is applying Patterns to the entire software process, not just design, AND MOREOVER, using many Patterns in the solution of software problems.
I also really enjoyed the writing style. Someone else has complained that it is written in first person even though there is more than one author. Personally, I don't care how many authors are involved, I want results. And the first person choice brought me into the inner circle, where someone was explaining things directly to me. It is a great read, with an almost ideal style of writing for my personality. They break out bulleted lists (another complaint from someone) that gives me the highlights of what we are going to cover. I cannot explain what a great difference that made. One great lecturer from JPL said when giving a lexture: "Tell them what you're going to tell them. Tell them. Then tell them what you told them." A brilliant speaker, this methodology lends itself to writing I think as much as speaking. Design Patterns I have read and done my best to understand, but this book breaks them down into easy to understand, and more importantly, cases where they can apply in simple language.
Possibly most importantly, they describe how learning patterns can be used together with learning OO.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
53 of 55 people found the following review helpful By Christopher J. Falter on August 9, 2001
Format: Paperback
This sparkling little introduction to design patterns is clear, well-organized, and supplied with sufficient sample code to help you understand and use 14 of the most important design patterns. Best of all, the authors provide insight into how using design patterns meshes with best practices in object-oriented analysis and design (OOAD).
They explain the shortcomings of traditional OOAD by supplying an example of a brittle, overly complex design that they themselves had crafted. They identify the culprit as overreliance on specialization.
The authors then discuss 14 of the most important patterns from the Gang Of Four book, and how using them made their own design more elegant. Along the way, they elucidate several themes you need to know in order to use design patterns:
* Encapsulation can hide more than data. It can hide complexity (the Facade pattern) or an ill-suited interface (the Adapter pattern), for example.
* Find what is common and make it an interface; find what varies, and encapsulate it.
* Don't get lost by plunging into the details of implementation too early; instead, use design patterns to address your problem space at a conceptual level.
As suits an introductory work, the authors do not deal with all the design patterns from the Gang Of Four, and not with the same depth. Fortunately, they supply ample footnotes to provide further reading for those of us who want more depth.
Bottom Line: You know that if you just turn nouns in your problem space into objects and verbs into methods, you won't magically get a sound design. On the other hand, it is easy to get lost in the complexity of Gamma's classic. Resolve the dilemma by reading this book first!
Footnote: as I feel that the vast majority of potential readers will not have the opportunity to attend Shalloway's 2-day course, I will not use the fact that it duplicates much of the book's content as a reason to lower my rating. It's a 5-star work all the way.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
80 of 90 people found the following review helpful By W. Truppel on May 15, 2002
Format: Paperback
I found "Design Patterns Explained" disappointing, and not worth its price, for many reasons. It has, nonetheless, some very good qualities. In the following, I'll write a detailed review starting with the disappointing features and finishing with the good qualities. I apologize if you consider this review too long for this forum.
First, "Design Patterns Explained" is very verbose without being particularly clear. The authors spend about 25% of the length of the book (the first 80 pages or so) going on and on about an alleged new perspective on object-oriented software design which is, in the end, not particularly new nor sufficiently concrete to be useful. In addition, I found the discussion of the architectural origins of design patterns to be too general and confusing for the beginner software designer.
Second, it constantly refers to the Gang of Four (GoF) book as if the authors of "Design Patterns Explained" needed confirmation of their ideas. Frankly, it tired me to the point of thinking that one might as well just read the GoF book instead. That wouldn't be a bad idea, in fact, since the GoF book is arguably the best book written so far on the subject of design patterns; its second chapter alone is worth more than "Design Patterns Explained" and is the best written, clearest, most concise (yet concrete) introduction to design patterns I have seen to this date.
Third, this book's Overview section at the beginning of each chapter is unnecessary, wasteful of paper and ink, repetitive, and downright annoying because it confuses what should be a useful summary with the listing of obvious facts about the chapter in question.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews