Design patterns are reusable solutions to commonly occurring problems in software design. They represent best practices and proven solutions that have evolved over time. Design patterns are important because they:
Provide a common vocabulary for developers
Reduce development time by offering tested solutions
Improve code maintainability and readability
Promote loose coupling and high cohesion
Help avoid common design pitfalls
The concept was popularized by the "Gang of Four" (GoF) book which categorized 23 fundamental patterns into Creational, Structural, and Behavioral categories.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.