import java.util.ArrayList;
public class ObserverPattern {
public static void main(String[] args) {
// TODO Auto-generated method stub
Subject subj = new Subject();
subj.attach(new Observer(subj,"a"));
subj.attach(new Observer(subj,"b"));//subj主题绑定观察者
subj.myNotify();//subj主题有变化,调用notify方法通知所有观察者
}
}
class Subject{
String s = "observer data changed";//模拟数据,如果该数据有更新,即调用notify方法
ArrayList<Observer> list = new ArrayList<Observer>();
public void attach(Observer o){
list.add(o);
}
public void myNotify(){
for(Observer o:list){
o.update();
}
}
}
class Observer{
Subject subject;
String ss = null;
public Observer(Subject subject,String ss){
this.subject = subject;
this.ss = ss;
}
public void update(){
System.out.println(ss+" "+subject.s);
}
}
public class ObserverPattern {
public static void main(String[] args) {
// TODO Auto-generated method stub
Subject subj = new Subject();
subj.attach(new Observer(subj,"a"));
subj.attach(new Observer(subj,"b"));//subj主题绑定观察者
subj.myNotify();//subj主题有变化,调用notify方法通知所有观察者
}
}
class Subject{
String s = "observer data changed";//模拟数据,如果该数据有更新,即调用notify方法
ArrayList<Observer> list = new ArrayList<Observer>();
public void attach(Observer o){
list.add(o);
}
public void myNotify(){
for(Observer o:list){
o.update();
}
}
}
class Observer{
Subject subject;
String ss = null;
public Observer(Subject subject,String ss){
this.subject = subject;
this.ss = ss;
}
public void update(){
System.out.println(ss+" "+subject.s);
}
}