REVIEW - Implementation Patterns

Title:

Implementation Patterns

Author:

Kent Beck

ISBN:

9780321413093

Publisher:

Addison-Wesley Professional (2008)

Pages:

157pp

Reviewer:

Seb Rose

Reviewed:

December 2009

Rating:

★★☆☆☆

It is difficult to decide who this book is aimed at. Given the title of the book (and the subtitle on the back cover that reads "... a Catalog of Patterns Infinitely Useful for Everyday Programming"), you might expect a reference tome that sits beside the ubiquitous GoF volume. I doubt that that is where it will end up.

For starters the book is unashamedly slanted towards Java, with references to Java visibility, Java collection classes and (in the context of framework design) the Java packaging scheme. This is not necessarily a weakness in itself - the GoF book presented the material in C++ and Smalltalk - but the patterns in this book are much lower level, and in some cases, much more specific to the implementation language. I would have expected some indication of this bias in the title or on the cover somewhere.

I would also question whether the book describes patterns at all. Certainly, they are not presented formally (with context, problem, forces, solution and consequences), but instead are small sections of prose grouped into chapters with titles like Class, State, Behavior, Methods.

Some of these sections describe the Java language itself (e.g. "Behavior: Control Flow") while others are stylistic in content (e.g. "State: Role-Suggesting Name"). I found myself agreeing with almost everything that was written, but very little reached levels of concreteness that I actually thought might be useful. And when I read that "the whole question of equality seemed more important 20 years ago" ("Methods: Equality") I found myself wondering if I'd been transported to a twilight zone somewhere between software engineering and gender politics.

The prose style is clear and easy to read, which lends credibility to the main thrust of the book (outlined in a 2-page chapter Motivation), which is that coding style is about communicating intent to people. However, I think that less experienced programmers will find it all a bit woolly, while those with more experience will wonder if there's anything good on telly.


Book cover image courtesy of Open Library.