 |
Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition) by Alan Shalloway, James R. Trott
Book Summary InformationAuthor: 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
|
 |
Windows 7 For Dummies Book + DVD Bundleby Andy Rathbone For Dummies; Published: 2009-10-12; Paperback; BookBest price: $13.25Price in other shops: $27.99
Windows 7 Secretsby Paul Thurrott, Rafael Rivera Wiley; Published: 2009-09-08; Paperback; BookBest price: $17.73Price in other shops: $49.99
Photoshop CS2 for Windows & Macintoshby Elaine Weinmann, Peter Lourekas Peachpit Press; Published: 2005-06-17; Paperback; BookBest price: $4.90Price in other shops: $31.99
Essential COMby Don Box Addison-Wesley Professional; Published: 1998-01-01; Paperback; BookBest price: $15.99Price in other shops: $54.99
A Practical Guide to Red Hat Linux 8by Mark G. Sobell Addison-Wesley Professional; Published: 2002-12-19; Paperback; BookBest price: $19.00Price in other shops: $59.99
Linux Administration Handbook (2nd Edition)by Evi Nemeth, Garth Snyder, Trent R. Hein Prentice Hall; Published: 2006-11-09; Paperback; BookBest price: $39.14Price in other shops: $54.99
Official Ubuntu Book, The (3rd Edition)by Benjamin Mako Hill, Corey Burger, Jonathan Jesse, Jono Bacon Prentice Hall; Published: 2008-06-30; Paperback; BookBest price: $3.49Price in other shops: $39.99
Linux(R) Desktop Garageby Susan Matteson Prentice Hall PTR; Published: 2005-02-25; Paperback; BookBest price: $9.99Price in other shops: $29.99
Linux+ All-in-One Exam Guideby Jeff Durham McGraw-Hill Companies; Published: 2001-12-17; Hardcover; BookBest price: $72.00
Admin911: SMSby Rod Trent McGraw-Hill Osborne Media; Published: 2000-10-20; Paperback; BookBest price: $15.01Price in other shops: $39.99
|
Computer Systems: A Programmer's Perspective (2nd Edition)by Randal E. Bryant, David R. O'Hallaron Addison Wesley; Published: 2010-02-14; Hardcover; BookBest price: $90.97Price in other shops: $123.00
Designing for the Digital Age: How to Create Human-Centered Products and Servicesby Kim Goodwin Wiley; Published: 2009-03-03; Paperback; BookBest price: $37.95Price in other shops: $69.99
Working Effectively with Legacy Codeby Michael Feathers Prentice Hall; Published: 2004-10-02; Paperback; BookBest price: $38.33Price in other shops: $59.99
Clean Code: A Handbook of Agile Software Craftsmanshipby Robert C. Martin Prentice Hall; Published: 2008-08-11; Paperback; BookBest price: $33.23Price in other shops: $49.99
Code Complete: A Practical Handbook of Software Constructionby Steve McConnell Microsoft; Microsoft Press; Published: 2004-07-07; Paperback; BookBest price: $24.99Price in other shops: $49.99
Head First Software Developmentby Dan Pilone, Russ Miles O'Reilly Media; Published: 2008-01-11; Paperback; BookBest price: $27.09Price in other shops: $49.99
Object-Oriented and Classical Software Engineeringby Stephen Schach McGraw-Hill Science/Engineering/Math; Published: 2010-07-19; Hardcover; BookBest price: $100.00
Refactoring: Improving the Design of Existing Codeby Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts Addison-Wesley Professional; Published: 1999-07-08; Hardcover; BookBest price: $25.00Price in other shops: $64.99
Head First Design Patternsby Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson O'Reilly Media; Published: 2004-11-01; Paperback; BookBest price: $25.00Price in other shops: $49.99
Design Patterns: Elements of Reusable Object-Oriented Softwareby Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Addison-Wesley Professional; Published: 1994-11-10; Hardcover; BookBest price: $35.45Price in other shops: $59.99
|