36 books
—
112 voters
Goodreads helps you keep track of books you want to read.
Start by marking “Implementation Patterns” as Want to Read:
Implementation Patterns
(A Kent Beck Signature Book)
by
Kent is a master at creating code that communicates well, is easy to understand, and is a pleasure to read. Every chapter of this book contains excellent explanations and insights into the smaller but important decisions we continuously have to make when creating quality code and classes. Erich Gamma, IBM Distinguished Engineer Many teams have a master developer who makes
...more
Get A Copy
Paperback, 157 pages
Published
October 1st 2007
by Addison-Wesley Professional
(first published November 2nd 2006)
Friend Reviews
To see what your friends thought of this book,
please sign up.
Reader Q&A
To ask other readers questions about
Implementation Patterns,
please sign up.
Be the first to ask a question about Implementation Patterns
Community Reviews
Showing 1-30

Start your review of Implementation Patterns

As with everything Kent Beck writes, this book is amazing.
You can either gloss over the details and perceive it as common sense, or you can think deeply about his ideas and how he arrives at them and then develop a similar mindset when it comes about the design. The first approach will yield a boring book at best, while the second will teach you stuff, even if you consider yourself quite adept at this already.
You can either gloss over the details and perceive it as common sense, or you can think deeply about his ideas and how he arrives at them and then develop a similar mindset when it comes about the design. The first approach will yield a boring book at best, while the second will teach you stuff, even if you consider yourself quite adept at this already.

I'm not quite sure where to start this review because the dichotomy in my thinking is so stark. However for the purpose of getting over the sad out of the way first I'll start with that. This book was published about five years too late and I've managed to read it about ten years too late. There's no hiding from the fact this book collects advice on a language that resembles a model T ford at a V8 race event. It's not so far removed from the cars on the track that it's unrecognisable but no one
...more

The best part is the introduction where Kent Beck presents the Values behind all the patterns
- Communication (to other developers)
- Simplicity
- Flexibility
and most importantly the principles that are devised from those values
- Local consequences
- Minimize repetition
- Logic and data together (Object orientation)
- Symmetry
- Declarative expression
- Rate of change
His reasoning is always very balanced and focuses on the essence of the trade-offs.
But the rest of the book would be hard to read this bo ...more
- Communication (to other developers)
- Simplicity
- Flexibility
and most importantly the principles that are devised from those values
- Local consequences
- Minimize repetition
- Logic and data together (Object orientation)
- Symmetry
- Declarative expression
- Rate of change
His reasoning is always very balanced and focuses on the essence of the trade-offs.
But the rest of the book would be hard to read this bo ...more

Implementations patterns is about all those small-scale patterns that you use during programming, usually on a one class/object level (in contrast to design patterns, that are about the interactions of numerous objects). It specifically focusses on code readability. This is a book about Java (also this is not very visible). Concepts might be transferable to other similar languages like C++ or C#.
The book is well written and relatively well edited. I found one error in the code that is not proble ...more
The book is well written and relatively well edited. I found one error in the code that is not proble ...more

The worst technical book I have ever read. The author is having very few outdated concepts to communicate, and he just keep beating around the bush for doing that.
While choosing this book to read, I was quite happy thinking at last somebody tried to communicate how important is that code written is easily understandable not only to the computers but also to the humans reading it.
But after reading few pages, I got completely disappointed and bored and stopped reading it after 50 pages.
While choosing this book to read, I was quite happy thinking at last somebody tried to communicate how important is that code written is easily understandable not only to the computers but also to the humans reading it.
But after reading few pages, I got completely disappointed and bored and stopped reading it after 50 pages.

This ought to be called 'Java Implementation Patterns', as it focuses exclusively on that language, and Beck also has a similar book aimed at Smalltalk. (And on that note, Beck mentions at one point that he thinks OO programming is better than functional, but Java has moved significantly towards a functional style since this book was published, so I'm curious what a modern edition of this book would be like.)
In my education, I was taught the mechanics of how java works, but not much of the theor ...more
In my education, I was taught the mechanics of how java works, but not much of the theor ...more

I learned about this book while reading Clean Code by Robert C. Martin. Since it is written by Kent Beck, I just had to read it.
This book and Clean Code by Robert C. Martin have a lot in common but address it in different ways. While the later is more practical with lots of examples and case studies, this one reads more like The Book of Five Rings: here's a piece of advice, go think about it carefully. ...more
This book and Clean Code by Robert C. Martin have a lot in common but address it in different ways. While the later is more practical with lots of examples and case studies, this one reads more like The Book of Five Rings: here's a piece of advice, go think about it carefully. ...more

I enjoy reading all of Kent Beck's books. Kent is a remarkable developer and following his thoughts on software design is both enjoyable and rewarding.
Although this book is not groundbreaking, it contains some solid patterns, especially useful if you are writing Java code. If you're looking for patterns, probably you'll find this book boring. The biggest value of this book is not in the offered patterns. The value is in understanding what's in Kent's head, how Kent is reasoning about code, codi ...more
Although this book is not groundbreaking, it contains some solid patterns, especially useful if you are writing Java code. If you're looking for patterns, probably you'll find this book boring. The biggest value of this book is not in the offered patterns. The value is in understanding what's in Kent's head, how Kent is reasoning about code, codi ...more

Mostly great because I can use the word "hodgepodge" in a review. For Java this been done better in Effective Java which I'd recommend instead of this hodgepodge.
...more

It's hard to read.
...more

Kent Beck provides on this book much lower level details into his programming preferences. He presents and discusses a lot of very common programming options and decisions.
Starting the book with some explanation into why those small decisions are important in the overall development of any application, Beck presents arguments to justify the care for each decision in the book along with explanations into how to read and understand the book.
He moves on to talk about specific implementation pattern ...more
Starting the book with some explanation into why those small decisions are important in the overall development of any application, Beck presents arguments to justify the care for each decision in the book along with explanations into how to read and understand the book.
He moves on to talk about specific implementation pattern ...more

This book seems to do for Java what Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries did for C#.
The introduction contains a few interesting points about software development in general. Had I (still) been interested in object-oriented development with languages in the C family, I might have found this book valuable, but now that I'm more interested in strongly-typed functional programming, it had little to offer me. ...more
The introduction contains a few interesting points about software development in general. Had I (still) been interested in object-oriented development with languages in the C family, I might have found this book valuable, but now that I'm more interested in strongly-typed functional programming, it had little to offer me. ...more

I started this book at lunch and tore through the rest of it after dinner tonight. The last chapter ends at page 130, so it's got to be one of the thinnest software engineering books I've ever read. As always, Beck's writing is terse and dense - he never repeats himself if he can help it, and he counts on you to keep up with him. This is deep stuff, and will help you codify WHY you're writing the code you're writing, and understand what micro-pattern you're applying when you do it. This is softw
...more

This book could be of interest to start thinking a little bit less about what some language feature do and a little bit more what it means, the problems it solves and how it interacts with other features (which is what patterns is all about). However, the book try to be too much exaustive and often don't go deep enough to give the reader a good understanding of the compromises made in the language. The fact that the book focus mostly on Java probably doesn't help and I learn far much on language
...more

Kent Beck has been a software engineer thought leader for some time. This book is oriented to the Java developer, but has something to say to developers of other languages as well. Patterns of implementation should allow the reader to easily follow the line of thought in the code and to make use of the language intentions. This sounds obvious, but Kent Beck shows many examples of what he means by these ideas.

A quick, worthwhile read. Simple but useful, practical ideas.
Probably the heuristic I like best is 'Rate of Change' - eg in the case of data, group together data that is created, destroyed and/or changes at the same time. It's one way to determine how to split up or group data into separate classes. Following on from that, I'm a big fan of Parameter Objects and Method Objects - they can radically simplify code. ...more
Probably the heuristic I like best is 'Rate of Change' - eg in the case of data, group together data that is created, destroyed and/or changes at the same time. It's one way to determine how to split up or group data into separate classes. Following on from that, I'm a big fan of Parameter Objects and Method Objects - they can radically simplify code. ...more

This was an interesting read, but certainly not the best book I've ever read. Sometimes I felt like he was delving into an interesting topic, only to find that he would move on to another subject.
I do have to say, however, that I have not read any other book that even attempted to discuss framework development, so I give him Kudos for that. I did find his discussions of frameworks interesting.
Overall, I think it's worth the read. ...more
I do have to say, however, that I have not read any other book that even attempted to discuss framework development, so I give him Kudos for that. I did find his discussions of frameworks interesting.
Overall, I think it's worth the read. ...more

Two differences between a master craftsman and an apprentice are having the needed tools and knowing how and when to use each one. In his book, Kent Beck takes you on a guided tour of his workshop. He teaches you about each tool, when and how to use it. He also tells why he has chosen the tools, giving you a starting point for deciding how to equip your own coding technique tool bin.
This book is suitable for any software developer, from novice to veteran.
This book is suitable for any software developer, from novice to veteran.

This had some good things to keep in mind for experienced developers (because you should already know and practice most of what is here), but it is probably more valuable to junior or mid-level developers. The examples are all in Java, which is fine, but it would be interesting to also show how some of these patterns have been simplified in other languages and/or frameworks.

I'll say that if you've been programming for a while many of the patterns you'll have already seen. Some you might have come across just through experimentation, others through failure.
If you're a newer developer, then I'd say you should definitely give this a read. If you've got a bit more experience, give it a skim, you've probably seen it already. ...more
If you're a newer developer, then I'd say you should definitely give this a read. If you've got a bit more experience, give it a skim, you've probably seen it already. ...more
There are no discussion topics on this book yet.
Be the first to start one »
Goodreads is hiring!
Other books in the series
A Kent Beck Signature Book
(7 books)
News & Interviews
In most romances, a romp in the hay comes after many chapters of meeting cute, silent pining, and steamy banter. Not so for books that...
7 likes · 0 comments
No trivia or quizzes yet. Add some now »
“Exceptions occur at different levels of abstraction. Catching and reporting a low-level exception can be confusing to someone who is not expecting it. When a web server shows me an error page with stack trace headed by a NullPointerException, I’m not sure what I’m supposed to do with the information. I’d rather see a message that said, “The programmer did not consider the scenario you have just presented.” I wouldn’t mind if the page also provided a pointer to further information that I could send to a programmer so he could diagnose the problem, but presenting me with untranslated details isn’t helpful.”
—
0 likes
“The majority of the cost of software is incurred after the software has been first deployed. Thinking about my experience of modifying
code, I see that I spend much more time reading the existing code than I do writing new code. If I want to make my code cheap, therefore, I should make it easy to read.”
—
0 likes
More quotes…
code, I see that I spend much more time reading the existing code than I do writing new code. If I want to make my code cheap, therefore, I should make it easy to read.”