Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition)

Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition)
by Alan Shalloway, James R. Trott

Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition)
List Price: $54.99
Our Price: $32.97
You Save: $22.02 (40%)
Availability: Usually ships in 1-2 business days
Buy Used: from $20.80 (click here)
Category: Book
See more book details and other editions


or

Book Summary Information

Author: Alan Shalloway, James R. Trott
Edition: Paperback
Audio: English (Unknown); English (Original Language); English (Published)
Published: 2004-10-22
ISBN: 0321247140
Number of pages: 480
Publisher: Addison-Wesley Professional

Book Reviews of Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition)

Book Review: A good bridge between intermediate/experience design and advanced/pattern design.
Summary: 4 Stars

I had been writing code in multiple languages for almost 15 years, and often thought of myself as a proficient designer and implementer.
I would design each object to hold its data members and required functionality, and strove for interfaces that properly hid the data.
I used inheritance where it seemed appropriate.

...and this book taught me - "You're not completely wrong, but you're far from building a good design."

My first read through the Gang of Four book gave me some insight about design patterns and clearly showed me their importance, but I struggled a bit to connect my own developments to the ideas put forth in the GoF book. Even after reading the GoF book, I felt like I was building specializations too often, and as a C++ programmer, I was having to consider using "dynamic_cast" more than my intuition was comfortable with.

This text is excellent for your design mentality.
If you are following down the same path as I had above, then I stop and recommend you pick up this text before continuing with your development.
It is clearly written, and the UML diagrams are a large help.

A number of diagrams will be on the next page, which means you have a chance to get out a piece of scratch paper and try to create a better design before seeing the solution presented.
As with any mental or physical exercise, you will only get better and better if you spend time working on problems before you see the solutions previously thought of by someone else.

This text doesn't tell you all of the patterns, but it doesn't need to.
There are plenty of references listed to help you decide which books to buy after/while reading.
More importantly, this book teaches you how to think of the problems you are solving in more efficient, robust, and _extensible_ ways.
Even if you read only this book and completely ignore the GoF book or online resources for design patterns, your thought process will be improved so that you can discover pattern solutions that, very likely, other people have also thought of and chronicled.

I take away one star because of a few code implementation mistypes and occasionally a UML symbol is used without being defined in Chapter 2 (e.g., the Bridge pattern solution given on p.178, Figure 10-12 uses the "is implemented by" arrow but never defined it previously).
These are minor reasons, and do not take away from the overall quality and approachability of the book.

If you are a researcher (Ph.D. student/postdoc/etc) or private developer, and will be designing new software, then this should easily be on your list of expenses when writing a budget.
If you have a very limited budget (e.g. self-supporting undergraduate student), either pool the money together with classmates to share the book or work just a few extra hours at your part-time job, because this is worth your professional development.

--Update, January 2011--
After reading this book, I worked on applying "Find what varies and encapsulate it" to my projects, and also went after reading the GoF book again.
This time, the GoF book was immensely easier to read, and I truly started to see the power of design patterns.
I have taken my largest project that I designed from scratch, and have completely redesigned it using the power of design patterns.
It is far, far easier to develop, manage, extend, and incorporate into my next upcoming and even larger project thanks to the knowledge in both "Design Patterns Explained" and the original "Design Patterns".

I will conclude this long review by saying that each reader (including myself) will struggle at times when learning the mindset for and initially trying to harvest (actually use) design patterns, but the payoff at the end of the hard road is immensely rewarding.

Summary of Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition)

"One of the great things about the book is the way the authors explain concepts very simply using analogies rather than programming examples?this has been very inspiring for a product I'm working on: an audio-only introduction to OOP and software development."

?Bruce Eckel

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

Leverage the quality and productivity benefits of patterns?without the complexity! Design Patterns Explained, Second Edition is the field's simplest, clearest, most practical introduction to patterns. Using dozens of updated Java examples, it shows programmers and architects exactly how to use patterns to design, develop, and deliver software far more effectively.

You'll start with a complete overview of the fundamental principles of patterns, and the role of object-oriented analysis and design in contemporary software development. Then, using easy-to-understand sample code, Alan Shalloway and James Trott illuminate dozens of today's most useful patterns: their underlying concepts, advantages, tradeoffs, implementation techniques, and pitfalls to avoid. Many patterns are accompanied by UML diagrams.

Building on their best-selling First Edition, Shalloway and Trott have thoroughly updated this book to reflect new software design trends, patterns, and implementation techniques. Reflecting extensive reader feedback, they have deepened and clarified coverage throughout, and reorganized content for even greater ease of understanding. New and revamped coverage in this edition includes

  • Better ways to start "thinking in patterns"
  • How design patterns can facilitate agile development using eXtreme Programming and other methods
  • How to use commonality and variability analysis to design application architectures
  • The key role of testing into a patterns-driven development process
  • How to use factories to instantiate and manage objects more effectively
  • The Object-Pool Pattern?a new pattern not identified by the "Gang of Four"
  • New study/practice questions at the end of every chapter

Gentle yet thorough, this book assumes no patterns experience whatsoever. It's the ideal "first book" on patterns, and a perfect complement to Gamma's classic Design Patterns. If you're a programmer or architect who wants the clearest possible understanding of design patterns?or if you've struggled to make them work for you?read this book.

Operating Systems Books

Book Subjects
Most talked about in Operating Systems Books
Windows 7 For Dummies Book + DVD Bundle ImageWindows 7 For Dummies Book + DVD Bundle
by Andy Rathbone
For Dummies; Published: 2009-10-12; Paperback; Book
Best price: $13.25
Price in other shops: $27.99
Windows 7 Secrets ImageWindows 7 Secrets
by Paul Thurrott, Rafael Rivera
Wiley; Published: 2009-09-08; Paperback; Book
Best price: $17.73
Price in other shops: $49.99
Photoshop CS2 for Windows & Macintosh ImagePhotoshop CS2 for Windows & Macintosh
by Elaine Weinmann, Peter Lourekas
Peachpit Press; Published: 2005-06-17; Paperback; Book
Best price: $4.90
Price in other shops: $31.99
Essential COM ImageEssential COM
by Don Box
Addison-Wesley Professional; Published: 1998-01-01; Paperback; Book
Best price: $15.99
Price in other shops: $54.99
A Practical Guide to Red Hat Linux 8 ImageA Practical Guide to Red Hat Linux 8
by Mark G. Sobell
Addison-Wesley Professional; Published: 2002-12-19; Paperback; Book
Best price: $19.00
Price in other shops: $59.99
Linux Administration Handbook (2nd Edition) ImageLinux Administration Handbook (2nd Edition)
by Evi Nemeth, Garth Snyder, Trent R. Hein
Prentice Hall; Published: 2006-11-09; Paperback; Book
Best price: $39.14
Price in other shops: $54.99
Official Ubuntu Book, The (3rd Edition) ImageOfficial Ubuntu Book, The (3rd Edition)
by Benjamin Mako Hill, Corey Burger, Jonathan Jesse, Jono Bacon
Prentice Hall; Published: 2008-06-30; Paperback; Book
Best price: $3.49
Price in other shops: $39.99
Linux(R) Desktop Garage ImageLinux(R) Desktop Garage
by Susan Matteson
Prentice Hall PTR; Published: 2005-02-25; Paperback; Book
Best price: $9.99
Price in other shops: $29.99
Linux+ All-in-One Exam Guide ImageLinux+ All-in-One Exam Guide
by Jeff Durham
McGraw-Hill Companies; Published: 2001-12-17; Hardcover; Book
Best price: $72.00
Admin911: SMS ImageAdmin911: SMS
by Rod Trent
McGraw-Hill Osborne Media; Published: 2000-10-20; Paperback; Book
Best price: $15.01
Price in other shops: $39.99
Similar Books and other products
Computer Systems: A Programmer's Perspective (2nd Edition) ImageComputer Systems: A Programmer's Perspective (2nd Edition)
by Randal E. Bryant, David R. O'Hallaron
Addison Wesley; Published: 2010-02-14; Hardcover; Book
Best price: $90.97
Price in other shops: $123.00
Designing for the Digital Age: How to Create Human-Centered Products and Services ImageDesigning for the Digital Age: How to Create Human-Centered Products and Services
by Kim Goodwin
Wiley; Published: 2009-03-03; Paperback; Book
Best price: $37.95
Price in other shops: $69.99
Working Effectively with Legacy Code ImageWorking Effectively with Legacy Code
by Michael Feathers
Prentice Hall; Published: 2004-10-02; Paperback; Book
Best price: $38.33
Price in other shops: $59.99
Clean Code: A Handbook of Agile Software Craftsmanship ImageClean Code: A Handbook of Agile Software Craftsmanship
by Robert C. Martin
Prentice Hall; Published: 2008-08-11; Paperback; Book
Best price: $33.23
Price in other shops: $49.99
Code Complete: A Practical Handbook of Software Construction ImageCode Complete: A Practical Handbook of Software Construction
by Steve McConnell
Microsoft; Microsoft Press; Published: 2004-07-07; Paperback; Book
Best price: $24.99
Price in other shops: $49.99
Head First Software Development ImageHead First Software Development
by Dan Pilone, Russ Miles
O'Reilly Media; Published: 2008-01-11; Paperback; Book
Best price: $27.09
Price in other shops: $49.99
Object-Oriented and Classical Software Engineering ImageObject-Oriented and Classical Software Engineering
by Stephen Schach
McGraw-Hill Science/Engineering/Math; Published: 2010-07-19; Hardcover; Book
Best price: $100.00
Refactoring: Improving the Design of Existing Code ImageRefactoring: Improving the Design of Existing Code
by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
Addison-Wesley Professional; Published: 1999-07-08; Hardcover; Book
Best price: $25.00
Price in other shops: $64.99
Head First Design Patterns ImageHead First Design Patterns
by Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson
O'Reilly Media; Published: 2004-11-01; Paperback; Book
Best price: $25.00
Price in other shops: $49.99
Design Patterns: Elements of Reusable Object-Oriented Software ImageDesign Patterns: Elements of Reusable Object-Oriented Software
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Addison-Wesley Professional; Published: 1994-11-10; Hardcover; Book
Best price: $35.45
Price in other shops: $59.99