3. Behavioral
In software engineering, behavioral design patterns are design patternsthat identify common communication patterns between objects and realizethese patterns. By doing so, these patterns increase flexibility incarrying out this communication.