Observer/Observable Paradigm






Idea:

Contract (between observed object and observer):
  1. Each observer registers with the object to be observed

  2. The observed object notifies all observers whenever it makes a significant change in state

Implementation:
  1. The object to be observed extends the class java.util.Observable. This class provides the public methods
    • addObserver( Observer o ) // Used by observer

    • deleteObserver( Observer o ) // Used by observer

    • notifyObservers() // Used by observed object

    • protected setChanged() // Used by observed object

  2. Each observer implements the interface java.util.Observer that requires
    • public void update( Observable o, Object x ) // Used by observer
    that is called by notifyObservers().
Next, we demo the use of this paradigm in the multiple display of an animated thermometer.