Observer/Observable Paradigm
Idea:
- permit an object to "observed" by any number of other objects.
Contract (between observed object and observer):
- Each observer registers with the object to be observed
- The observed object notifies all observers whenever it makes a
significant change in state
Implementation:
- 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
- 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.