In software engineering, behavioral design patterns are design pattern (computer science)s that identify common communication patterns between objects and realize these patterns. By doing so, these patterns increase flexibility in carrying out this communication.
Examples of this type of design pattern include:
Chain of responsibility pattern
Command pattern
Event listener
Interpreter pattern
Iterator pattern
Mediator pattern
Memento pattern
Observer pattern
State pattern
Strategy pattern
Template method pattern
Visitor pattern
Single-serving visitor pattern
Hierarchical visitor pattern