Definition
A design pattern is ==a recurrent solution to a recurrent problem==. In software engineering, design patterns offer standardized schema to solve design problem, improving legibility, maintenability and usability of the code.
A design pattern is a blueprint for a solution, but is not a ready-to-go answer
- It needs an implementation that suits the context needs
- The pattern is not a specific piece of code, but a general concept for solving a particular problem