Author: Elisabeth Freeman, Eric Freeman, Bert Bates
Publisher: O'Reilly, 2004
Aimed at: Intermediate Java programmers
Pros: Well presented arguments
Cons: Long winded
Reviewed by: Mike James
The short version of this review is - “this book is very good" but you might just be one of the minority that is irritates to the point where you simply don’t agree with this conclusion.
The time and effort spent on creating the book is obviously above average. It has pictures of people with speech bubbles representing what you might want to say or ask the authors. It has asides, footnotes, margin notes, diagrams, listings, annotations – in short it must have been a nightmare to layout. In addition the language and style is “cute” and, well, stylish. If you don’t like the style then you might not read sufficiently far to discover that it is also educational. I almost fell into this trap and it took quite a few pages of reading to convince me that I was wrong.
This is a gimmicky book that actually works for once. It is an intelligent and well thought out discussion of Java design patterns and if you don’t know what a design pattern is then this is an excellent way to find out. It is also an interesting discussion of object-oriented design. I found that the authors often anticipated my reaction to their initial explanations and asked the questions that I would have asked had it been a lecture.
My only real reservation is that for some the information density is too low. Written in a more direct style the book would probably be 200 pages shorter and a much quicker read. As long as you aren’t one of the people who react against the style this is highly recommended.