Home > Store > Programming > Java

larger cover

Add To My Wish List

Implementation Patterns

Register your product to gain access to bonus material or receive a coupon.

  • Description
  • Reviews
  • Sample Content

Product Author Bios

Kent Beck, one of the software industry’s most creative and acclaimed leaders, consistently challenges software engineering dogma and promotes ideas like patterns, test-driven development, and Extreme Programming. Currently affiliated with Three Rivers Institute and Agitar Software, he is the author of many Addison-Wesley titles, including Test-Driven Development (2003) and, with Cynthia Andres, Extreme Programming Explained, Second Edition (2005).

“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 a rapid stream of good decisions all day long. Their code is easy to understand, quick to modify, and feels safe and comfortable to work with. If you ask how they thought to write something the way they did, they always have a good reason. This book will help you become the master developer on your team. The breadth and depth of topics will engage veteran programmers, who will pick up new tricks and improve on old habits, while the clarity makes it accessible to even novice developers.”

Russ Rufer, Silicon Valley Patterns Group

 

“Many people don’t realize how readable code can be and how valuable that readability is. Kent has taught me so much, I’m glad this book gives everyone the chance to learn from him.”

Martin Fowler, chief scientist, ThoughtWorks

 

“Code should be worth reading, not just by the compiler, but by humans. Kent Beck distilled his experience into a cohesive collection of implementation patterns. These nuggets of advice will make your code truly worth reading.”

Gregor Hohpe, author of Enterprise Integration Patterns

 

“In this book Kent Beck shows how writing clear and readable code follows from the application of simple principles. Implementation Patterns will help developers write intention revealing code that is both easy to understand and flexible towards future extensions. A must read for developers who are serious about their code.”

Sven Gorts

 

Implementation Patterns bridges the gap between design and coding. Beck introduces a new way of thinking about programming by basing his discussion on values and principles.”

Diomidis Spinellis, author of Code Reading and Code Quality

 

Software Expert Kent Beck Presents a Catalog of Patterns Infinitely Useful for Everyday Programming

 

Great code doesn’t just function: it clearly and consistently communicates your intentions, allowing other programmers to understand your code, rely on it, and modify it with confidence. But great code doesn’t just happen. It is the outcome of hundreds of small but critical decisions programmers make every single day. Now, legendary software innovator Kent Beck–known worldwide for creating Extreme Programming and pioneering software patterns and test-driven development–focuses on these critical decisions, unearthing powerful “implementation patterns” for writing programs that are simpler, clearer, better organized, and more cost effective.

 

Beck collects 77 patterns for handling everyday programming tasks and writing more readable code. This new collection of patterns addresses many aspects of development, including class, state, behavior, method, collections, frameworks, and more. He uses diagrams, stories, examples, and essays to engage the reader as he illuminates the patterns. You’ll find proven solutions for handling everything from naming variables to checking exceptions.

 

This book covers

  • The value of communicating through code and the philosophy behind patterns
  • How and when to create classes, and how classes encode logic
  • Best practices for storing and retrieving state
  • Behavior: patterns for representing logic, including alternative paths
  • Writing, naming, and decomposing methods
  • Choosing and using collections
  • Implementation pattern variations for use in building frameworks

Implementation Patterns will help programmers at all experience levels, especially those who have benefited from software patterns or agile methods. It will also be an indispensable resource for development teams seeking to work together more efficiently and build more maintainable software. No other programming book will touch your day-to-day work more often.

Customer Reviews

76 of 79 people found the following review helpful
2.0 out of 5 stars Wrong title, outrageous price, February 18, 2008
By 
Riccardo Audano (Chiavari, Italy) - See all my reviews
(REAL NAME)   
Amazon Verified Purchase(What's this?)
This review is from: Implementation Patterns (Paperback)
The right title should be something like... "Kent Beck on writing readable code". The word "pattern" is way out of context, and will induce you to expect to find something way more precise, detailed and technical than then general advice that this book has to offer. This text could be considered like a chance to have a chat with Kent Beck discussing his ideas on the importance of writing readable code, and on general guidelines for code clarity and expressiveness. I have seen a review complaining about using Java for the examples, but the truth is, you will see very little code in this book. I am also not very sure of the idea target reader for this work. An experienced programmer has already figured out this general advice by himself, but the level of abstraction and detail is too terse to be useful to a beginner. I believe that more material, more detail and a more tutorial-like style could have made this book a worthwhile read for a junior developer. As it is , I have to say it,... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


45 of 49 people found the following review helpful
4.0 out of 5 stars Good, Not Great, November 25, 2007
By 
R. Williams "code slubber" (Los Angeles, CA United States) - See all my reviews
(VINE VOICE)    (REAL NAME)   
Amazon Verified Purchase(What's this?)
This review is from: Implementation Patterns (Paperback)
First off, this is a very thin tome. Which would make you expect a brisk pace, but instead, it's strangely just laconic. A lot of it is so elementary, it is kind of maddening. At one point, Kent tells us that if we need to fetch the time for a number of local variables, we ought use a local variable to 'freeze time.' The biggest problem here, however, is that when the book does turn to a topic that is worthy of some attention, the same paucity produces a feeling of futility: some of idioms, like collecting parameter, for instance, come up. No discussion of how it is a gateway to Visitor, nothing really interesting in fact, just a short little paragraph. Another section on parallel hierarchies ends with the author saying that he figured out how to solve his rather stilted example by introducing a CashFlow object. But he goes on without explaining it. Now, consider the fact that I believe books should ONLY take up topics like that one. This book is greatly confused about who it is for... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


11 of 11 people found the following review helpful
3.0 out of 5 stars Not much material, January 10, 2008
By 
Jonathan Aquino (Victoria, BC Canada) - See all my reviews
(REAL NAME)   
Amazon Verified Purchase(What's this?)
This review is from: Implementation Patterns (Paperback)
Pros: Gave me a tiny bit more insight into how a programmer I admire (Beck) thinks. Also the hand-drawn diagrams were intuitivie and easy to grasp.

Cons: Not much material. Book could have been half of its already short length. You sort of got the sense Beck was running out of things to say - the chapter on Collections has graphs of the running times of various collections, and an Appendix is devoted to the code used to create the graphs.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Share your thoughts with other customers:
 See all 28 customer reviews...

Online Sample Chapters

Implementation Patterns: Collections

Implementation Patterns: How to Express the Behavior of a Program

Table of Contents

Preface  xv

Chapter 1: Introduction  1

Tour Guide  3

And Now...  4

Chapter 2: Patterns  5

Chapter 3: A Theory of Programming  9

Values  10

Principles  13

Conclusion  18

Chapter 4: Motivation  19

Chapter 5: Class  21

Class  22

Simple Superclass Name  23

Qualified Subclass Name  24

Abstract Interface   24

Interface  26

Abstract Class  26

Versioned Interface  27

Value Object  28

Specialization  31

Subclass  32

Implementor  34

Inner Class  34

Instance-Specific Behavior  36

Conditional  36

Delegation  38

Pluggable Selector  40

Anonymous Inner Class  41

Library Class  41

Conclusion  42

Chapter 6: State  43

State  44

Access  45

Direct Access  46

Indirect Access  47

Common State  47

Variable State  48

Extrinsic State  50

Variable  50

Local Variable  51

Field  52

Parameter  53

Collecting Parameter  55

Optional Parameter  56

Var Args  56

Parameter Object  57

Constant  58

Role-Suggesting Name  58

Declared Type  60

Initialization  61

Eager Initialization  61

Lazy Initialization  62

Conclusion  62

Chapter 7: Behavior  63

Control Flow  64

Main Flow  64

Message  65

Choosing Message  65

Double Dispatch  66

Decomposing (Sequencing) Message  67

Reversing Message  67

Inviting Message  68

Explaining Message  69

Exceptional Flow  70

Guard Clause  70

Exception  72

Checked Exceptions  72

Exception Propagation  73

Conclusion  73

Chapter 8: Methods  75

Composed Method  77

Intention-Revealing Name  79

Method Visibility  80

Method Object  82

Overridden Method  83

Overloaded Method  83

Method Return Type  84

Method Comment  85

Helper Method  85

Debug Print Method  86

Conversion  87

Conversion Method  87

Conversion Constructor  88

Creation  88

Complete Constructor  89

Factory Method  90

Internal Factory  91

Collection Accessor Method  91

Boolean Setting Method  93

Query Method  93

Equality Method  94

Getting Method  95

Setting Method  96

Safe Copy  97

Conclusion  98

Chapter 9: Collections  99

Metaphors  100

Issues  101

Interfaces  103

Implementations  107

Collections  110

Extending Collections  114

Conclusion  115

Chapter 10: Evolving Frameworks  117

Changing Frameworks without Changing Applications  117

Incompatible Upgrades  118

Encouraging Compatible Change  120

Conclusion  129

Appendix A: Performance Measurement  131

Example  131

API  132

Implementation  133

MethodTimer  134

Canceling Overhead  136

Tests  136

Conclusion  142

Bibliography  145

General Programming  145

Philosophy  147

Java  148

Index  149

Downloadable Sample Chapter

Download a Sample Chapter from this book.

 
Best Value

Book + eBook Bundle  $80.98  $48.59

Book Price $35.99
eBook Price $12.60
eBook formats included

Buy

This book includes free shipping!

Buy

Book  $44.99  $35.99

Usually ships in 24 hours.

This book includes free shipping!

Buy

eBook (Watermarked)  $35.99  $28.79

Includes EPUB, MOBI, and PDF
About eBook Formats

This eBook includes the following formats, accessible from your Account page after purchase:

ePubEPUBThe open industry format known for its reflowable content and usability on supported mobile devices.

MOBIMOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

Adobe ReaderPDFThe popular standard, used most often with the free Adobe® Reader® software.

This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.

Purchase Reward: One Month Free Subscription
By completing any purchase on InformIT, you become eligible for an unlimited access one-month subscription to Safari Books Online.

Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.