Refactoring to Patterns

ISBN-10: 0321213351
ISBN-13: 9780321213358
Edition: 2005
Authors: Joshua Kerievsky
List price: $69.99 Buy it from $45.04
eBook available
This item qualifies for FREE shipping

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy

Description: The reality of software is that great software designs are not necessarily created, but it is more likely that they evolve. In this eagerly-anticipated new book, Joshua Kerievsky helps the experienced developer see design patterns in the context of  More...

New Starting from $61.39
eBooks Starting from $55.99
Buy
what's this?
Rush Rewards U
Members Receive:
coins
coins
You have reached 400 XP and carrot coins. That is the daily max!
You could win $10,000

Get an entry for every item you buy, rent, or sell.

Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
Italian Grammar Online content $4.95 $1.99
Add to cart
Study Briefs
Portuguese Grammar Online content $4.95 $1.99
Add to cart
Study Briefs
Spanish Grammar Online content $4.95 $1.99
Add to cart
Study Briefs
German Grammar Online content $4.95 $1.99

Customers also bought

Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

Book details

List price: $69.99
Copyright year: 2005
Publisher: Addison Wesley Professional
Publication date: 8/5/2004
Binding: Hardcover
Pages: 400
Size: 7.25" wide x 9.50" long x 1.25" tall
Weight: 1.826
Language: English

The reality of software is that great software designs are not necessarily created, but it is more likely that they evolve. In this eagerly-anticipated new book, Joshua Kerievsky helps the experienced developer see design patterns in the context of refactorings, not just as reusable elements existing apart from the refactoring literature. This fresh perspective helps the reader to learn how to evolve a software design. Test-first programming and merciless refactoring are the key practices of evolutionary design, and the author imparts his unique knowledge on these topics. The result is a classic book containing a plethora of practical advice that will help software designers properly gauge the project at hand, and evolve a design that will give their organization a competitive advantage.

Foreword
Foreword
Preface
What Is This Book About?
What Are the Goals of This Book?
Who Should Read This Book?
What Background Do You Need?
How to Use This Book
The History of This Book
Standing on the Shoulders of Giants
Acknowledgments
Why I Wrote This Book
Over-Engineering
The Patterns Panacea
Under-Engineering
Test-Driven Development and Continuous Refactoring
Refactoring and Patterns
Evolutionary Design
Refactoring
What Is Refactoring?
What Motivates Us to Refactor?
Many Eyes
Human-Readable Code
Keeping It Clean
Small Steps
Design Debt
Evolving a New Architecture
Composite and Test-Driven Refactorings
The Benefits of Composite Refactorings
Refactoring Tools
Patterns
What Is a Pattern?
Patterns Happy
There Are Many Ways to Implement a Pattern
Refactoring to, towards, and away from Patterns
Do Patterns Make Code More Complex?
Pattern Knowledge
Up-Front Design with Patterns
Code Smells
Duplicated Code
Long Method
Conditional Complexity
Primitive Obsession
Indecent Exposure
Solution Sprawl
Alternative Classes with Different Interfaces
Lazy Class
Large Class
Switch Statements
Combinatorial Explosion
Oddball Solution
A Catalog of Refactorings to Patterns
Format of the Refactorings
Projects Referenced in This Catalog
XML Builders
HTML Parser
Loan Risk Calculator
A Starting Point
A Study Sequence
Creation
Replace Constructors with Creation Methods
Motivation
Mechanics
Example
Variations
Move Creation Knowledge to Factory
Motivation
Mechanics
Example
Encapsulate Classes with Factory
Motivation
Mechanics
Example
Variations
Introduce Polymorphic Creation with Factory Method
Motivation
Mechanics
Example
Encapsulate Composite with Builder
Mechanics
Example
Variations
Inline Singleton
Motivation
Mechanics
Example
Simplification
Compose Method
Motivation
Mechanics
Example
Replace Conditional Logic with Strategy
Motivation
Mechanics
Example
Move Embellishment to Decorator
Motivation
Mechanics
Example
Replace State-Altering Conditionals with State
Motivation
Mechanics
Example
Replace Implicit Tree with Composite
Motivation
Mechanics
Example
Replace Conditional Dispatcher with Command
Motivation
Mechanics
Example
Generalization
Form Template Method
Motivation
Mechanics
Example
Extract Composite
Motivation
Mechanics
Example
Replace One/Many Distinctions with Composite
Motivation
Mechanics
Example
Replace Hard-Coded Notifications with Observer
Motivation
Mechanics
Example
Unify Interfaces with Adapter
Motivation
Mechanics
Example
Extract Adapter
Motivation
Mechanics
Example
Variations
Replace Implicit Language with Interpreter
Motivation
Mechanics
Example
Protection
Replace Type Code with Class
Motivation
Mechanics
Example
Limit Instantiation with Singleton
Motivation
Mechanics
Example
Introduce Null Object
Motivation
Mechanics
Example
Accumulation
Move Accumulation to Collecting Parameter
Motivation
Mechanics
Example
Move Accumulation to Visitor
Motivation
Mechanics
Example
Utilities
Chain Constructors
Motivation
Mechanics
Example
Unify Interfaces
Motivation
Mechanics
Example
Extract Parameter
Motivation
Mechanics
Example
Afterword
References
Index

×
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.

×