Design Patterns & Refactoring

Hello, world!
I'm SourceMaking. I will tell you a lot of stories about good software architecture and teach you how to create it with design patterns. I will teach you how to smell a bad code and improve it with refactoring.
We can start from the very beginning or you can pick a topic of interest below.