Behavioral Patterns
Patterns for communication between objects and assignment of responsibilities
Patterns for communication between objects and assignment of responsibilities
Pass requests along a chain of handlers, each deciding to process or forward the request
Encapsulate a request as an object allowing you to parameterize clients with commands
Define a grammar and interpreter for a language to process structured text or commands
Access elements of a collection sequentially without exposing its underlying representation
Centralize complex communication logic between multiple objects in a mediator object
Capture and externalize an object's state without violating encapsulation
Provide an object as surrogate for null reference with neutral behavior
Define a one-to-many dependency where when one object changes state, all dependents are notified
Encapsulate business rules as queryable objects for flexible filtering and validation
Allow an object to alter its behavior when its internal state changes
Define a family of algorithms, encapsulate each, and make them interchangeable
Define the skeleton of an algorithm, deferring specific steps to subclasses
Represent an operation to be performed on elements of an object structure