Foreword by Ralph Johnson
Foreword by Martin Fowler
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
Chapter 1: Why I Wrote This Book
Over-Engineering
The Patterns Panacea
Under-Engineering
Test-Driven Development and Continuous Refactoring
Refactoring and Patterns
Evolutionary Design
Chapter 2: 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
Chapter 3: Patterns ...