Design Patterns provide easy to recognize and use OOP solutions to common problems. Design Patterns also solve specific programming challenges regarding usability and maintainability.
Creational patterns: Creational design patterns are design patterns that deal with object creation mechanisms, trying to create objects in a manner suitable to the situation.
Structural patterns: Structural design patterns are design patterns that ease the design by identifying a simple way to realize relationships between entities.
Behavioral patterns: Behavioral design patterns are design patterns that identify common communication patterns between objects and realize these patterns. By doing so, these patterns increase flexibility in carrying out this communication.
- Design Patterns and Definitions