The Observer Design Pattern is a behavioral pattern.
The observer design pattern gives you the ability to trigger an operation in a class (the observer) when the observable class changes its state.
- When a class needs to know when a another object its state changes.
- From the need to implement a polling system (every x minutes, check for changes in object y).