Behavioral Patterns

Behavioral Patterns deal with object collaboration and the delegation of responsibilities.

Some Common Behavioral Design Patterns

1- Observer: Defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.

2- Strategy: Defines a family of algorithms, encapsulates each one, and makes them interchangeable.

3- Command: Encapsulates a request as an object, thereby allowing for parameterization of clients with queues, requests, and operations.

4- Chain of Responsibility: Allows an object to pass a request along a chain of potential handlers until the request is handled.

5- Iterator: Provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation.