设计模式之Observer

基本概念

观察者模式中有最基本的两个角色:Observable和Observer。涉及到的基本操作有:

  1. Observable在Observer中订阅,要接受消息。
  2. Observable取消注册(或者Observer将其删除)。
  3. Observer有了消息之后通知Observable。

总的来看还是比较简单的。Observer中保存所有的Observable,然后在需要通知的时候调用notifyObservers来实现。下面是观察者模式的类图:

对于java中的观察者模式框架下面给出一个例子:

import java.util.Observable;
import java.util.Observer;
class Watched extends Observable{
public void count(int num){
for(; num >= 0; num--){
setChanged();
notifyObservers(num);
}
}
}

class Watchter implements Observer{
@Override
public void update(Observable o, Object arg) {
System.out.println("Observer get:"+(Integer)arg);
}
}

public class Test {
public static void main(String[] arg){
Watched watched = new Watched();
Watchter watcher = new Watchter();

watched.addObserver(watcher);
watched.count(10);
}
}
原文地址:https://www.cnblogs.com/ggzwtj/p/2215188.html