Observer
nThe user interface must know when the model changes states.
uThe observer tells the target, “I need to know when you change state.”
uWhenever the target changes state, it informs the observer “I’ve changed state.”
uThe observer then queries the target for any detailed information it needs.