The Observer Design Pattern is a behavioral pattern that defines a subscription mechanism between objects. When the state of an object under observation changes, all objects subscribed for state change notifications are invoked and can react to the change event. This pattern is useful when you want to decouple an object’s state from the actions that need to be taken when that state changes. This pattern offers decoupling and flexibility when you want to easily add and remove observers that get notified when an object under observation changes its state.
To read more on this and the other patterns, get “GoF Design Patterns Distilled” book from Amazon or Leanpub: