Summer SALE

Hello, world!

Refactoring.Guru makes it easy for you to discover everything you need to know about refactoring, design patterns, SOLID principles, and other smart programming topics.

This site shows you the big picture, how all these subjects intersect, work together, and are still relevant. I don’t pretend to be the inventor of these concepts—most of them were invented by others during the past 20 years. But I think that the connection between refactoring, patterns and general programming principles still remains a mystery for the majority of programmers. This is the problem I would like to solve here.

P.S. While I update the project constantly, you can already find tons of info on refactoring and design patterns right here on the website. Track the project progress via email or on Facebook.

— Alexander Shvets
The one-man band behind Refactoring.Guru


Refactoring is a systematic process of improving code without creating new functionality. Refactoring transforms a mess into clean code and simple design.

More about Refactoring »

Design Patterns

Design Patterns are typical solutions to commonly occurring problems in software design. They are blueprints that can be taken and customized to solve a particular design problem in your code.

More about Design Patterns »