Pattern Reminder: Observer
Definition: The Observer Pattern defines a One-to-Many dependency between objects in a way that all dependent objects get automatically notified und updated, if the state of an object changes. Subjects or Observables notify Observers over an defined interface. Observers do not get notified in a particular order. Swing, JavaBeans and RMI use the Pattern often.
Java Example: A client registers to a newsletter and gets notified for every new news.

Subject:
public class Newsletter extends Observable
{
private String news;
public Newsletter(){}
public void setNewNews(String text)
{
this.news = text;
setChanged();
notifyObservers(this);
}
public String getNews()
{
return news;
}
Observer:
public class NewsReader implements Observer {
Observable observable;
public NewsReader(Observable ob)
{
this.observable = ob;
this.observable.addObserver(this);
}
public void update(Observable obs, Object obj) {
if (obs instanceof Newsletter) {
Newsletter newsletter = (Newsletter)obs;
System.out.println(newsletter.getNews());
}
}
}
0 TrackBacks
Listed below are links to blogs that reference this entry: Pattern Reminder: Observer.
TrackBack URL for this entry: http://www.innoq.com/mt4/mt-tb.cgi/2465
Leave a comment