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 Refactorng Refactoring and Ratterns Evolutionary Design Chapter 2:Refactoring What Is Refactoring? What Motivates Us to Refactor? Many Eyes Human-Readable Code …… Chapter 3:Patterns Chapter 4:Codde Smells Chapter 5:A Catalog of Refactorings to Patterns Chapter 6:Creation Chapter 7:Simplification Chapter 8:Generalization Chapter 9:Protection Chapter 10:Accumulation Chapter 11:Utilities Afterword by John Brant and Don Roberts References Index