observer

one-to-many dependencies and notification

structure

consequences

  • abstract coupling between subject and observer
  • support for broadcast
  • deals with unexpected updates

implementation

  • mapping subjects to observers
  • observing more than one subject?
  • who triggers the update - subject or client of subject
  • dangling references to subject
  • consistency of subject (before notification)
  • adding observer-specific update protocols (push / pull)
  • specifying modifications of interest (aspects)
  • how to encapsulate update semantics