Refactoring to Patterns, ePub and over 360,000 other books are available for Amazon Kindle – Amazon’s new wireless reading device. Learn more

 

or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
More Buying Choices
50 used & new from $32.99

Have one to sell? Sell yours here
 
   
Refactoring to Patterns
 
See larger image
 
Start reading Refactoring to Patterns, ePub on your Kindle in under a minute.

Don’t have a Kindle? Get your Kindle here.
 
  

Refactoring to Patterns (Hardcover)

~ (Author)
4.1 out of 5 stars  See all reviews (44 customer reviews)

List Price: $64.99
Price: $41.93 & this item ships for FREE with Super Saver Shipping. Details
You Save: $23.06 (35%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Tuesday, November 24? Choose One-Day Shipping at checkout. Details
33 new from $36.49 17 used from $32.99

Formats

Amazon Price New from Used from
  Kindle Edition, August 5, 2004 $33.54 -- --
  Hardcover, August 14, 2004 $41.93 $36.49 $32.99

Frequently Bought Together

Refactoring to Patterns + Refactoring: Improving the Design of Existing Code + Patterns of Enterprise Application Architecture
Price For All Three: $129.01

Show availability and shipping details

  • This item: Refactoring to Patterns by Joshua Kerievsky

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Refactoring: Improving the Design of Existing Code by Martin Fowler

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Patterns of Enterprise Application Architecture by Martin Fowler

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought

Refactoring: Improving the Design of Existing Code

Refactoring: Improving the Design of Existing Code

by Martin Fowler
4.5 out of 5 stars (139)  $41.93
xUnit Test Patterns: Refactoring Test Code

xUnit Test Patterns: Refactoring Test Code

by Gerard Meszaros
4.6 out of 5 stars (14)  $46.79
Patterns of Enterprise Application Architecture

Patterns of Enterprise Application Architecture

by Martin Fowler
4.5 out of 5 stars (62)  $45.15
Test Driven Development: By Example

Test Driven Development: By Example

by Kent Beck
3.9 out of 5 stars (32)  $41.22
Refactoring Databases: Evolutionary Database Design

Refactoring Databases: Evolutionary Database Design

by Pramodkumar J. Sadalage
4.4 out of 5 stars (22)  $41.93
Explore similar items

Editorial Reviews

Product Description

This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.

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.

--This text refers to the Kindle Edition edition.


From the Publisher

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.


Product Details

  • Hardcover: 400 pages
  • Publisher: Addison-Wesley Professional (August 15, 2004)
  • Language: English
  • ISBN-10: 0321213351
  • ISBN-13: 978-0321213358
  • Product Dimensions: 9.4 x 7.2 x 1.2 inches
  • Shipping Weight: 2.2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (44 customer reviews)
  • Amazon.com Sales Rank: #132,179 in Books (See Bestsellers in Books)

More About the Author

Joshua Kerievsky
Discover books, learn about writers, read author blogs, and more.

Visit Amazon's Joshua Kerievsky Page

What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

 

Customer Reviews

44 Reviews
5 star:
 (25)
4 star:
 (5)
3 star:
 (10)
2 star:
 (2)
1 star:
 (2)
 
 
 
 
 
Average Customer Review
4.1 out of 5 stars (44 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
63 of 67 people found the following review helpful:
5.0 out of 5 stars A book I've been waiting for, September 5, 2004
By wiredweird "wiredweird" (Earth, or somewhere nearby) - See all my reviews
(TOP 100 REVIEWER)   
Amazon Verified Purchase(What's this?)
Kerievsky has done it. He has started to pull together anti-patterns (a.k.a. "bad smells"), refactorings, and patterns into one unified study. All three work well individually. Together, they make a powerful combination.

This isn't as rigorously analytic as the original Design Patterns book. I fully expect more theory-oriented writers to follow the trail blazed here. Instead, Kerievsky gives worked examples, in great detail. At every point, he starts with a code sample drawn from real life, complex enough to be interesting. Then, step by step, he shows the incremental changes made to transition from it's problematic start to its pattern-based end point. Experienced programmers may find this plodding and repetitive. Beginners, however, often have a hard time planning incremental changes and executing them. The author takes care to keep the code in working order at each increment, showing a clear path through the forest of possibilities. Some readers may even trace the path backwards, giving another look at how each change moves toward the end state. The worked examples are the real strength of this text.

This is a book for the software maintainer. In other words, it addresses 90% or 99% of the work that real programmers do. Just about every other software text on the market assumes that the project just started - the disks are empty and the compiler shrink-wrap is on the floor. I admit, that kind of programming is the most fun. It's just not realistic, though. Most work is rework, the kind demonstrated here.

Another great feature of this book is what it lacks: dogmatic harangues about methodology. It even keeps a skeptical attitude towards patterns, since heavyweight design techniques aren't always right for lightweight problems. Kerievsky mentions agile-ism, but doesn't make it a part of the process. He does, however, take the continuous testing idea from the eXtremists and work that into the demonstrations. Bravo! Hardware designers may wonder what the fuss is about, since thorough testing has been part of their culture for years. It's a happy novelty in much of the software world, though, and deserves to become standard practice.

My only problem with this book is that there isn't more of it. For example, constructor chaining is a great idea. There are two kind of chain, though. He shows the increasing parameter list, where simpler constructors supply default values for the more ones with more parameters. It's also possible to chain in decreasing order, where each constructor processes one parameter and passes on the simplified list. (What's good for constructors, of course, is also good for other collections of related methods.)

The book's ideal reader understands an OO language, uses subclassing regularly, and knows something about design patterns. That reader, with enough patience to follow the examples, will learn a lot. More experienced developers won't need the step by step approach, but may benefit from seeing multiple refactorings working together to solve a complex problem. It has my highest recommendation for any developer who really thinks about design and redesign.

//wiredweird
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
42 of 45 people found the following review helpful:
5.0 out of 5 stars Wonderful! Brings patterns into coding, not just designing, September 19, 2004
Based on its title alone I had high expectations for this book. It didn't disappoint. The book takes two of the most important advances of the past decade (patterns and refactoring) and puts them together into a whole that is definitely more than the sum of its parts.

I've read many good patterns books and have been applying patterns to how I think and talk about software since the original "Design Patterns" book in 1995. However, something was always missing. Through my consulting work, whenever I introduced patterns to a new team they would take quickly to the idea and patterns would become part of how they thought-but only when designing, not when coding. Since we spent more time coding than designing, patterns played less of a role than they could have.

This book does an excellent job of bringing patterns into coding, rather than relegating them just to design discussions. As the author points out, "patterns are best viewed in the light of refactoring and that they are destinations best reached by applying sequences of low-level refactorings."

This book has earned a permanent place on my bookshelf. That is, when it's not open beside me as I program. Very highly recommended!
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
37 of 41 people found the following review helpful:
3.0 out of 5 stars Over-complicated examples ruin a superb piece of work., November 7, 2004
This book is the only one of its kind that tries to use a patterns approach to refactoring. It is a good add-on to Martin Fowler's book. It's a very valuable contribution to the refactoring community. Kerievsky has a no-nonsense, down-to-earth approach to the subject of Patterns. However unlike Fowler who makes an effort to keep the code examples in his book as simple as possible, Kerievsky has made his examples over-complicated with all kinds of detailed finance domain references and the XML DOM. The example he uses to show how the Builder pattern simplifies creation of Composites is like a really heavy chapter on XML processing/generation.
The "Replace Conditional Logic with Strategy" is like a chapter on Investments / Loans. It really distracts the reader's attention from the pattern or refactoring.
This is a shame because it is impossible to write a good book on refactoring without nice examples. It is also a bit surprising that none of the other Amazon reviews mention this issue.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

4.0 out of 5 stars Good companion to the Design Patterns
I think this is a very good companion to the Design Patterns by the GoF. As the author stated in the book, the real joy of refactoring to the design patterns is to know the right... Read more
Published 6 months ago by Yuanchyuan Sheu

5.0 out of 5 stars Very good book
Refactoring written by Martin Fowler is the foundamental book, and this Refactoring to Patterns is higher level talking about refactoring. Read more
Published 12 months ago by Weiqun Shi

3.0 out of 5 stars Good ideas, but needs refactoring
There are a lot of nuggets of wisdom in the book, especially in the pragmatic approach the author takes to refactoring and patterns. Read more
Published 21 months ago by K. Krueger

5.0 out of 5 stars The Joy of Clean Up Reaches the Design Level
Clean up (refactoring) is fun. Clean up to the design level (patterns) is stunning. A very pragmatic introduction, down to the code and incredibly helpful. Read more
Published 22 months ago by ws__

5.0 out of 5 stars Combines Refactoring and Patterns
A master-piece and a must-read art-work. When I was studying on Martin Fowler's Refactoring to make my code more comprehensive and improve its clarification, I see, Martin... Read more
Published 22 months ago by Berk Acunas

5.0 out of 5 stars the best design pattern book
this is definitely the best book about design pattern I have ever read.

but this book is not telling you what a pattern is and how to use this pattern; instead, it... Read more
Published on February 21, 2007 by Sowen

5.0 out of 5 stars Great book, get it if you do design.
Well done book, and a valuable next-step in learning about design patterns. The original GOF presents them in isolated and rather sterile format and manner, this book adds a much... Read more
Published on February 6, 2007 by Gregory Guthrie

5.0 out of 5 stars Excellent book!
An EXCELLENT book! Very highly recommended. I like the fact that Josh has used real world code in all the refactoring to patterns examples.
Published on January 8, 2007 by Taru Jain

4.0 out of 5 stars Good extension to Fowler's: Refactoring
I read this book shortly after reading Martin Fowler's Refactoring book. I find this book to be a great extension to Fowlers basic priciples. Read more
Published on January 3, 2007 by Morten Petteroe

5.0 out of 5 stars Excellent reference book and a book I turn to frequently
I've looked over some of the other reviews on here and disagree with much of the criticism. This book is very easy to navigate and use and a book that will help teach you patterns... Read more
Published on December 4, 2006 by David Giacomo

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
Got Questions About The Book? 0 April 2006
See all discussions...  
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
   


Listmania!



Product Information from the Amapedia Community

Beta (What's this?)

Refactoring to Patterns (The Addison-Wesley Signature Series)

After a good deal of hard work, my colleagues and I at Industrial Logic have released Refactoring to Patterns Interactive -- http://industriallogic.com/rtpdata/ -- an interactive, web- and IDE-based online workshop, featuring 17 important refactorings ...

(Report this)
Created on Apr 17, 2006, last edited on Apr 26, 2006.

 Read More and Edit at Amapedia.com opens new browser window



Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.