Observer is a behavioral design pattern that allows some objects to notify other objects about changes in their state.
The Observer pattern provides a way to subscribe and unsubscribe to and from these events for any object that implements a subscriber interface.
Examples of this pattern are presented in following languages:
if you would like to add example in any language i left out, you are welcomed to send a pull request.