1 观察者-程序员
/**
* 程序员 观察者观察技术前线
*/
public class Coder implements Observer {
public String name;
public Coder(String name){
this.name = name;
}
@Override
public void update(Observable o, Object arg) {
Log.i("***"+name,"DevTechFrontier更新了,"+arg);
}
}
2 被观察者-技术刊
/**
* 开发技术前线 被观察者
*/
public class DevTechFrontier extends Observable {
public void postNewPublication(String content){
//标识被改变
setChanged();
//通知所有观察者
notifyObservers(content);
}
}
3 使用
/**
* 使用
*/
public class User {
public void use(){
//1 被观察者
DevTechFrontier devTechFrontier = new DevTechFrontier();
//2 观察者
Coder coder = new Coder("coder-1");
Coder coder1 = new Coder("coder-2");
//3 将观察者注册到被观察者中
devTechFrontier.addObserver(coder);
devTechFrontier.addObserver(coder1);
//4发布消息
devTechFrontier.postNewPublication("技术前线更新啦");
/*
* ***coder,DevTechFrontier更新了,技术前线更新啦);
* ***coder1,DevTechFrontier更新了,技术前线更新啦);
*/
}
}