1 - “Workflows of Refactoring”
In this deck, Martin Fowler explains various visions of refactoring, their triggers, objectives and workflows.
Click on the link below if you want to know about TDD Refactoring, Litter-Pickup Refactoring, Comprehension Refactoring, Preparatory Refactoring, Planned Refactoring and Long-Term Refactoring.
In this article, Martin Fowler deep dives into the process of refactoring a piece of video store controller full of conditionals, switch-cases and nesting into clean, expansible and well-designed code art.
3 - “Refactoring code that accesses external services”
Now to focus more on a refactoring in a specific context, this article focus on extracting Youtube API external dependencies from the business logic on a video service, making easy to deal with changes on both sides.
4 - “Refactoring Module Dependencies”
This article shows how to implement the Presentation-Domain-Data Layering architecture starting from a structure which mixes UI, business logic and database interaction (a.k.a. a mess).
5 - “Refactoring to Functional Style”
Venkat Subramaniam dives into Java features to move from imperative style of code to more clear functional expressions, leveraging strongly Java 8 collections and other features.