版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/donghejk/article/details/90115291
在观察者模式中,需要有被观察的对象,观察者。当被观察的对象发生改变时会通知观察者做对应的改变。
/**
* 可观察者
* @author donghe
*
*/
public interface Observerable {
public void registerObserver(Observer o);
public void removeObserver(Observer o);
public void notifyObserver();
}
/**
* 可观察者实现
* @author donghe
*
*/
public class QQServer implements Observerable{
List<Observer> list;
@Override
public void registerObserver(Observer o) {
list.add(o);
}
@Override
public void removeObserver(Observer o) {
list.remove(o);
}
@Override
public void notifyObserver() {
for(Observer observer :list){
observer.update("收到qq消息");
}
}
/**
* 从服务器接收到消息
*/
public void reciveMessage(){
notifyObserver();
}
}
/**
* 观察者
* @author donghe
*
*/
public interface Observer {
public void update(String message);
}
/**
* 观察者实现
* @author donghe
*
*/
public class User implements Observer{
private String name;
private String message;
@Override
public void update(String message) {
this.message = message;
}
}