Oberserverモード
最初のオブザーバー:
2番目の観察者:
対象者:
被観察者が自発的に観察者に通知する
テストクラス:
TEST;
package observer;
import java.util.Observer;
public class JMSObserver implements Observer {
@Override
public void update(java.util.Observable o, Object arg) {
// TODO Auto-generated method stub
System.out.println("JMS "+arg);
}
}
2番目の観察者:
package observer;
import java.util.*;
public class MailObserver implements Observer {
@Override
public void update(Observable o, Object arg) {
// TODO Auto-generated method stub
System.out.println("Mail "+arg);
}
}
対象者:
package observer;
import java.util.Observable;
import java.util.Observer;
public class Subject extends Observable { //bei guan cha
/**
* , , ()
*/
public void doBusiness(String str){
super.setChanged();
notifyObservers(str);
// str ! }
}
被観察者が自発的に観察者に通知する
テストクラス:
TEST;
public static void main(String [] args) {
// ( add )
Subject subject = new Subject();
//
Observer mailObserver = new MailObserver();
Observer jmsObserver = new JMSObserver();
//
subject.addObserver(mailObserver);
subject.addObserver(jmsObserver);
//
subject.doBusiness(" "); }