ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Google+ ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1918 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Design Patterns Java Workbook
Steven John Metsker
0 201 74397 3
Silvia de Beer
java; patterns
Appeared in:
This is a very good book indeed! Almost eight years after the appearance of the now classic book Design Patterns, another book explains the same twenty-three design patterns. During those years, the general understanding of design patterns has tremendously increased. However, it is still the question how much an average Java developer understands from design patterns and if he is capable of applying them when writing software and discussing with other developers. My guess is that most developers are still struggling with recognising, understanding and correctly applying design patterns. For these developers this book will be a very good aid on this subject.

The design patterns are regrouped in five groups, according to their intent; interfaces, responsibility, construction, operation and extension. Of course, for some patterns, their classification could be debated, but this is even encouraged. Remarks and questions encourage a better understanding of the intent and purpose of each pattern. The author discusses when simple features of the Java language could suffice to meet a requirement, or when it would be a better idea to re-factor code using a design pattern. The design patterns are not explained abstractly, but a concrete example is given based on a fireworks factory. The intentions of each design pattern are clearly stated.

A very useful feature of this book is that exercises appear throughout the text. This encourages a careful studying of the text. If you just casually read the text, you will not be able to answer all the questions. Some questions seem simple, but this may also be to not discourage newcomers. The questions break down into three categories; questions to formulate a response and reflect on what you have read, questions to complete or draw small diagrams and questions to complete or write small parts of Java code. If you are not a java developer, you could still benefit from this book, but you should at least have a minimal understanding of the Java language. I can recommend this book, it is the best book I have reviewed so far, taking into account the importance of this subject for developers.