Design Patterns Explained: A New Perspective on Object-Oriented Design (Software Patterns) Paperback – 12 Oct 2004
|New from||Used from|
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Frequently Bought Together
Customers Who Bought This Item Also Bought
Enter your mobile number 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.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
From the Back Cover
"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."
"...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."
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.
© Copyright Pearson Education. All rights reserved.
About the Author
Alan Shalloway is founder, CEO, and principal consultant of Net Objectives, an object-oriented consulting and training organization. An object-oriented consultant and software developer for over 20 years, he is a frequent speaker at leading development conferences, including SD Expo, Java One, OOP, and OOPSLA. He is a certified Scrum master. He is co-author of An Introduction to XML and its Family of Technologies. Shalloway holds a master's degree in computer science from MIT.
James R. Trott currently works as a senior consultant for a large financial institution in the Pacific Northwest. He has used object-oriented and pattern-based analysis techniques throughout his 20-year career in knowledge management and knowledge engineering. He holds a master of science in applied mathematics, an MBA, and a master of arts in intercultural studies.
© Copyright Pearson Education. All rights reserved.
What Other Items Do Customers Buy After Viewing This Item?
Top Customer Reviews
As someone who, stupidly, never really looked at patterns before I have to say this book was perfect. If you take the time with some of the chapters, particularly the one about the Bridge pattern, then you can come up with the actual pattern before the author gives it. You can do this because the authors give you the information and context you need to work out what the solution will be.
The only slightly annoying point about the book is that the self satisfaction of the authors sometimes gets in the way of more important matters, however that doesn't spoil a good book.
I would recommend that anyone who enjoys this book goes on to look at the books written by Craig Larman, Robert C. Martin and Joshua Kerievsky. They all cover object oriented design and patterns in more detail.
The authors essentially teach the reader how to design software better. They walk the reader through various approaches to a systems design example throughout the book, finally culminating with the approach of combining software patterns with CVA (Commonality and Variability Analysis). It is just so obvious but no-one ever seemed to think of it before.
From reading this book I now have a lot more clarity in thinking through the analysis and design of software and am producing implementations that are far more maintainable. For that I cannot thank the authors enough.
In summary : GET THIS BOOK!
A pattern is a solution that comes up enough times that it might as well have a name. By their very nature patterns are obvious solutions if you understand the fundamental principles of software engineering and think about the problem for long enough. The problem almost always defines the solution. Unfortunately this book tries to describe a new perspective on Object Oriented design that frankly just isn't actually new. As with any technology, how it is actually used in practise evolves over time and changes from how it was first envisaged. Whilst reading this book a colloquial expression often came to mind that Dr Watson could have said to Sherlock Holmes if he had just stated the blindingly obvious.
This is most definitely not a reference book. You have to wade through bumpf about design and the personal experiences of the authors to find the sections describing specific patterns. Concise is not a word that I would use to describe this book. It's useful to know the names of patterns because it aids communication with other engineers, but if you want to find out what someone else is referring to then it will be faster to use wikipedia.
The only thing that I really learnt from this book was about the pitfall of implementing double checked locking in Java. Unfortunately Wikipedia gave a much more useful explanation.
The book is really easy to understand, too easy for me. The author repeats himself very often in the first half. The first third of the book is an slow introduction to what will come (his intentions, absolute basic thinking and definitions, an example which will be used later on and a chapter about design patterns in building).
These were the reasons I disliked the book in the beginning, it becomes constantly better after the Facade Pattern. He explains all patterns very well, so I think everybody will understand it. It can get somewhat boring if you know the pattern already or already have a responsibility-like thinking of objects (like I did).
Nonetheless I fould at least something interesting in every chapter, most often observations of his own practice were helpful.
What I found most interesting was the Bridge Pattern (really good explained) and the Analysis Matrix (a way to develop a good system from scratch, I liked it more than his CVA-approach [Commonality and Variability Analysis], because CVA is just proper OO-thinking).
His linkage to XP / agile development is generally just "works with agile development, too". What he refers to is most often the style of thinking.
To summarize: Even if I didn't found this book exciting from page to page, I fully agree with his opinion. Nothing in this book is false (I think thats an important thing to say about a technical book).
His quotes from other books are really gorgeous, they explain everything in short.Read more ›
Most Recent Customer Reviews
An excellent book on Design Patterns, very easy to follow, and not as dry a read as most programming booksPublished 20 months ago by david smith
Right from the start this book began to change the way i think about the design of my software. Within weeks it has led me to creating much more powerful designs that I previously... Read morePublished on 25 Oct. 2013 by Lee Cheneler
Whether you are an experienced developer or a novice, whether you looking for a reference or a text book this book will be of little help. Read morePublished on 9 April 2013 by ventu
What can I say? This book is well presented and written. If you need a start in OO and patterns this is the best place to start.Published on 16 Jan. 2013 by Tobin
I bought this instead of the GoF book because I had read reviews that the GoF book was too impenetrable, and this book was far more friendly. This was a mistake. Read morePublished on 15 Dec. 2010 by J. Garrard
I bought this book as I had been struggling with the GoF's classic patterns book ("Design patterns : elements of reusable object-oriented software"... Read morePublished on 3 Oct. 2010 by Yossu
Look for similar items by category
- Books > Computing & Internet > Computer Science > Operating Systems
- Books > Computing & Internet > Digital Lifestyle > Online Shopping > Amazon
- Books > Computing & Internet > Programming > Languages & Tools
- Books > Computing & Internet > Programming > Software Design, Testing & Engineering > Design Patterns
- Books > Computing & Internet > Programming > Software Design, Testing & Engineering > Software Design