In software engineering, design patterns are accepted solutions to common problems recurring when developing a product.
Behavioural design patterns are all about interaction or communication between objects.
How to implement behavioural design patterns; contains images and practices describing each pattern in more detail.
Python