I read MartinFowler's article (see ReFactor) where he gives an example of how refactoring works in practice. That made me wonder whether there are patterns here. I've attempted to write a couple of them down, almost all of them shamelessly stolen from Martin's article. Feel free to comment and edit for clarity or brevity. --MarnixKlooster First there some patterns about refactoring in general: * BacktrackIfRefactoringFails * TheFirstRefactoringStep * RefactoringInVerySmallSteps * TestEveryRefactoring * RefactoringInDuets * RefactoringUsingTools * RefactoringHat ''(Some of these patterns were created by SantiagoValdarrama who used the reduced pattern version to create a complete version using a pattern template. Also, he created some of them from the ground up.)'' And there are also specific techniques that one can use: * MethodObject -- a pattern * ExtractMethod * MoveMethod * ReplaceConditionalWithPolymorphism * InlineMethod Here http://www.refactoring.com/catalog/index.html is a list that is a ''bit'' longer... ---- You really ''must'' read MartinFowler's RefactoringImprovingTheDesignOfExistingCode. ---- See AboutRefactoringPatterns, RefactoringToPatterns. ---- CategoryRefactoring