Refactoring to Patterns (Addison-Wesley Signature Series) and over 2 million other books are available for Amazon Kindle . Learn more
FREE Delivery in the UK.
Only 13 left in stock (more on the way).
Dispatched from and sold by Amazon.
Gift-wrap available.
Condition: Used: Good
Comment: Used Good condition book may have signs of cover wear and/or marks on corners and page edges. Inside pages may have highlighting, writing and underlining. All purchases eligible for Amazon customer service and a 30-day return policy.
Trade in your item
Get a £13.75
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Refactoring to Patterns (Addison-Wesley Signature) Hardcover – 5 Aug 2004

See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
"Please retry"
£23.37 £22.00

Frequently Bought Together

Refactoring to Patterns (Addison-Wesley Signature) + Refactoring: Improving the Design of Existing Code (Object Technology Series) + Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)
Price For All Three: £96.62

Buy the selected items together

Trade In this Item for up to £13.75
Trade in Refactoring to Patterns (Addison-Wesley Signature) for an Amazon Gift Card of up to £13.75, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

  • Hardcover: 400 pages
  • Publisher: Addison Wesley; 1 edition (5 Aug 2004)
  • Language: English
  • ISBN-10: 0321213351
  • ISBN-13: 978-0321213358
  • Product Dimensions: 17.8 x 2.5 x 23.6 cm
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (8 customer reviews)
  • Amazon Bestsellers Rank: 254,985 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

From the Back Cover

In 1994, Design Patterns changed the landscape of object-oriented development by introducing classic solutions to recurring design problems. In 1999, Refactoring revolutionized design by introducing an effective process for improving code. With the highly anticipated Refactoring to Patterns, Joshua Kerievsky has changed our approach to design by forever uniting patterns with the evolutionary process of refactoring.

This book introduces the theory and practice of pattern-directed refactorings: sequences of low-level refactorings that allow designers to safely move designs to, towards, or away from pattern implementations. Using code from real-world projects, Kerievsky documents the thinking and steps underlying over two dozen pattern-based design transformations. Along the way he offers insights into pattern differences and how to implement patterns in the simplest possible ways.

Coverage includes:

  • A catalog of twenty-seven pattern-directed refactorings, featuring real-world code examples
  • Descriptions of twelve design smells that indicate the need for this book’s refactorings
  • General information and new insights about patterns and refactoring
  • Detailed implementation mechanics: how low-level refactorings are combined to implement high-level patterns
  • Multiple ways to implement the same pattern—and when to use each
  • Practical ways to get started even if you have little experience with patterns or refactoring

Refactoring to Patterns reflects three years of refinement and the insights of more than sixty software engineering thought leaders in the global patterns, refactoring, and agile development communities. Whether you’re focused on legacy or “greenfield” development, this book will make you a better software designer by helping you learn how to make important design changes safely and effectively.

About the Author

Joshua Kerievsky is the founder of Industrial Logic (, a company specializing in Extreme Programming. Since 1988, Joshua has been a professional software developer, coach, and instructor for clients such as Bankers Trust, MTV, MBNA, Ansys, MDS Sciex, Nielsen Media Research, and Sun Microsystems. He speaks regularly at conferences, has written numerous articles, and contributed chapters to Extreme Programming Explored (Addison-Wesley, 2001) and Extreme Programming Perspectives (Addison-Wesley, 2002). Joshua lives with his wife and daughters in Berkeley, California.

Customer Reviews

4.8 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 8 customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

23 of 24 people found the following review helpful By Anthony Williams on 6 Jan 2005
Format: Hardcover
Refactoring To Patterns brings together the Patterns movement, and the practice of Refactoring commonplace in the Agile community. Whereas the original Gang of Four book told us what patterns were, what sort of problems they solved, and how the code might be structured, Refactoring To Patterns illustrates how, why and when to introduce patterns into an existing codebase.
The opening chapters cover the background, introducing both refactoring and design patterns, and the context in which the book was written. This gives the reader a clear overview of what is involved in Refactoring to Patterns, and paves the way for the refactoring catalogue which makes up the bulk of the book.
The catalogue is divided into chapters based on the type of change required --- is this a refactoring to simplify code, generalize code, or increase encapsulation and protection? Each chapter has an introduction which gives an overview of the refactorings contained within that chapter, followed by the refactorings themselves. These introductions clearly illustrate the principles and choices which would lead one to follow the refactorings that follow.
Each refactoring starts with a brief one sentence summary, and before and after structure diagrams with reference to the structure diagrams for the relevant pattern in the Design Patterns book. The sections that follow then cover the Motivation for using this refactoring, step-by-step Mechanics, and a worked Example, relating back to the steps given for the Mechanics. Finally, some of the refactorings finish with Variations on the same theme. The examples are all pulled from a small sample of projects, which are introduced at the beginning of the catalogue section, and help illuminate the instructions given in the Mechanics section.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
2 of 2 people found the following review helpful By Alan Lenton on 11 Mar 2013
Format: Hardcover Verified Purchase
For some reason this book escaped my notice until recently, which is a pity, because it's a very useful book indeed. Quite a lot of programmers, even those using using agile methods, seem to think that patterns are merely something that you spot at the design stage. This is not always the case, though it's useful if you do spot a pattern early on. Programs evolve, and as they do, patterns become more obvious, and indeed may not have been appropriate at earlier stages of the evolution.

The book, as its title implies, deals with evolving programs, and does it very well. The bulk of the book takes a relatively small number of patterns and, using real world examples, gives a step by step analysis, with Java code, of how to refactor into the pattern. As long as readers do treat these as examples, rather than something set in stone, they will find learn a lot about the arts of identifying patterns and the nitty gritty of refactoring.

I also liked the pragmatism of the author. Unlike some pattern freaks, he freely admits that there are times when using a specific pattern is overkill, especially where the problem is simple. Most people, myself included, when the idea of patterns are first grasped, tend to see patterns in everything and immediately implement them. This is frequently inappropriate, and rather than making the program structure clearer, muddies the waters. There are a number of warnings in the book against this approach.

I was very impressed by this book. In fact it is one of a small number of books that has made it to my work desk, where it fits in, both intellectually and literally, between the Gang of Four's Design Patterns, and Martin Fowler's Refactoring!

Highly recommended.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
1 of 1 people found the following review helpful By G. Mutlu on 16 Dec 2010
Format: Kindle Edition
This is the book where theory meets practice. I enjoyed the structure of the book and I highly recommend this book to anyone who doesn't have a complete understanding where & how to use design patterns. It is true that code samples were written in Java but it is not a big problem at all for developers who use other languages because samples are easy to follow for anyone who can follow pseudo-code.

Notes about the Kindle edition:

I do not have the hardcover edition so I cannot compare them but the Kindle edition had some flaws in code samples. Joshua Kerievsky over-lined the code which is needed to be removed and used bold text to make the newly added code clearly visible. I think it is a very good formatting to understand what is going on while refactoring but in the Kindle edition of this book, some code lines were not over-lined although those lines were needed to be removed or some code lines were not bold although those lines were added newly. However it was not a huge problem because to understand each refactoring you need to study all of them one by one and while doing so, it is not difficult to understand what is going on in the code.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
Format: Hardcover
This book provides an insight to refactoring and how patterns can assist in the process. The author provides case studies and examples of refactoring and how to achieve it successfully. I would recommend this book and also Refactoring by Martin Fowler
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again