Overview
Design patterns are not finished pieces of code, but rather templates for how to solve a problem. They represent best practices evolved by experienced software developers over time.
Categories
- Creational Patterns: Deal with object creation mechanisms.
- Structural Patterns: Deal with object composition and relationships.
- Behavioral Patterns: Deal with communication between objects.
Famous Reference
The 'Gang of Four' (GoF) book, Design Patterns: Elements of Reusable Object-Oriented Software, which introduced 23 classic patterns.