An ultra-simplified explanation to design patterns