Welcome to the OO Design & Patterns FAQ!

{short description of image} 

Question: When will the Java 5.0 edition be available?

Answer: The second edition (with the Golden Gate bridge cover) is now available.

Question: Why are you using Java Swing to motivate design patterns?

Answer: In my experience, many students have a tough time memorizing and recognizing the various design patterns. Swing makes them concrete:

Question: Why are you using inner and anonymous classes?

Answer: Everyone else does it--it is an idiom that all professional Java programmers need to master. (Just look at the library source code, e.g. grep for "new [ ]*[A-Za-z0-9_]*[ ]*()[ ]*{" in the Java 2 SDK source, and you'll find hundreds of examples.)

I tell my beginning students:
With advanced students, I draw a parallel to closures in Scheme and JavaScript.

My students really like the access to variables from the enclosing scope. It greatly reduces programming tedium.

Question: How does this book differ from Braude's book?

Answer: Braude's book seems more suitable for advanced students. It covers more material (OOA, .NET components, all GoF patterns), at a much faster pace.

Question: Why doesn't the book have a hard cover?

Answer: (from my editor)  The decision actually has to do with trade potential and course level. Paperbacks sell much better than hardcovers in the trade market and we felt this book has good potential in this market. Further, while there is very little difference in the price to produce hardcover versus softcover, there is a perception that softcovers are less expensive. Therefore, softcovers sell much better at freshman and sophomore level courses. It makes little difference whether a book is hardcover or softcover for advanced courses.