Java Concurrency in Practice
by Brian Goetz; Tim Peierls; Joshua Bloch; Joseph Bowbeer; David Holmes; Doug Lea
Effective Java™, Second Edition
by Joshua Bloch
Java Generics and Collections, 1st Edition
by Maurice Naftalin; Philip Wadler
Head First Java, 2nd Edition
by Kathy Sierra; Bert Bates
Head First Design Patterns
by Eric Freeman; Elisabeth Robson; Kathy Sierra; Bert Bates
Effective Java™, Second Edition
by Joshua Bloch
Java Concurrency in Practice
by Brian Goetz; Tim Peierls; Joshua Bloch; Joseph Bowbeer; David Holmes; Doug Lea
Java Web Services: Up and Running, 1st Edition
by Martin Kalin
This is the Safari online edition of the printed book.
Design Patterns in Java™ gives you the hands-on practice and deep insight you need to fully leverage the significant power of design patterns in any Java software project. The perfect complement to the classic Design Patterns, this learn-by-doing workbook applies the latest Java features and best practices to all of the original 23 patterns identified in that groundbreaking text.
Drawing on their extensive experience as Java instructors and programmers, Steve Metsker and Bill Wake illuminate each pattern with real Java programs, clear UML diagrams, and compelling exercises. You'll move quickly from theory to application—learning how to improve new code and refactor existing code for simplicity, manageability, and performance.
Coverage includes
Using Adapter to provide consistent interfaces to clients
Using Facade to simplify the use of reusable toolkits
Understanding the role of Bridge in Java database connectivity
The Observer pattern, Model-View-Controller, and GUI behavior
Java Remote Method Invocation (RMI) and the Proxy pattern
Streamlining designs using the Chain of Responsibility pattern
Using patterns to go beyond Java's built-in constructor features
Implementing Undo capabilities with Memento
Using the State pattern to manage state more cleanly and simply
Optimizing existing codebases with extension patterns
Providing thread-safe iteration with the Iterator pattern
Using Visitor to define new operations without changing hierarchy classes
If you're a Java programmer wanting to save time while writing better code, this book's techniques, tips, and clear explanations and examples will help you harness the power of patterns to improve every program you write, design, or maintain.
All source code is available for download at http://www.oozinoz.com.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 8 Ratings
Great material, Annoying format/structure/flow... - 2007-11-10
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
First off, the content/material in this book is great and very helpful for starting to bridge the gap between being just a Java programmer to becoming a system designer.
My biggest problem with this book is its format/structure. You cannot read it straight through (linearly). There are questions and challenges scattered throughout each chapter that force you to flip to the back of the book to see the answer because there are not enough supporting examples in-line. IMO, sometimes there is not enough information before the question/challenge to answer it (especially if you're not very familiar with Design Patterns); this forces you to check the back of the book every few pages, which can be very annoying. I was hoping for a book that I could read straight through, not a workbook.
not a GoF for javarians - 2008-09-24
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I am a beginner in OO programming and Java. I have had to read a lot recently and this is not one of my better purchases.
An earlier reviewer commented that the format/structure is a problem - I also found it annoying. I dislike authors that play pantomime with complex topics like this. Further, when my mind is in computer mode the often used sentences in this book like "if you want to ..." confuse my subconscious learning brain. This is because I may not "want" but may "need" - and I need to figure out why/if/when I may want this thing. I feel that this indicates that the authors are not confident in concisely explicating a complex topic.
Some things grate, for example the Singleton Pattern is classified differently (Responsibility Pattern) here to the GoF book (Creational Pattern). I don't see the communicational point in messing with the acknowledged but the perhaps disputed GoF masters (Design Patterns) and their accepted wisdom.
Technically this book does not appear complete. In discussing thread safety for the Singleton the book provides a synchronized example but not a "double-checked locking" example as does Head First Design Patterns (Head First). The double-check reduces the use of synchronization in a frequently accessed singleton and speeds things up dramatically. Omissions like this don't inspire confidence.
The book feels light in Java code examples. It is not a clear Java focussed exposition on patterns. It does not provided comprehensive Java examples on common patterns to insert in production (where I am personally at now). It seems a missed opportunity because I wished so much.
I was hoping to outgrow my Head First(HF) experience, but this book does not do that. I would recommend the HF book over this one - even if you are annoyed by the HF style. HF seems to have been more thought out.
This book added little to the GoF and HF books I have read.
This book maybe useful for Java programmers who have not been exposed to patterns or for undergraduate classes.
Horrible book - 2009-09-20
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I have read the classic Design Patterns book (from the GoF) and wanted the same book but with Java examples. This book isn't even close. The explanations are so shallow and/or convoluted that even with previous knowledge of design patterns I struggled to understand what the author tried to explain. The Java examples are incomplete, boring and completely fail to illustrate the topic.
And most of all, the book is a collection of "CHALLENGES". They are not questions meant to challenge the understanding of what has been read but ask the reader fundamental questions and concepts, without any attempt to offer any basic explanation first! It's infuriating and frustrating. You must constantly turn the pages to the solution chapters! It's, at best, distracting.
I don't understand why authors would follow such formats. When I buy a study book I don't want to be challenged I want to be taught! Challenges already exist and are the reason why I buy study books - to get answers! This book doesn't offer any.
I threw that book in to the recycling bin the day after I received it.
Practical patterns book - 2007-07-16
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I found the book quite useful. I especially liked that the book is Java based as that is the language i primarily use and that code examples are provided. I learn by doing and the book is excellent at giving the reader the opportunity to implement patterns. This book is more than just theory. It's practical.
Good Book - 2009-01-14
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
pros:
1. Good descriptions of the patterns.
2. Good explanation of how to use the patterns to solve a particular problem.
Cons:
I wished the examples were better. Most people are not familiar with CAD systems, so a more common software problem would have been more helpful.
Top Level Categories:
Programming
Software Engineering
Sub-Categories:
Programming > Java
Software Engineering > Design Patterns
Some information on this page was provided using data from Amazon.com®. View at Amazon >