基本概念

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

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

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

设计模式之Observer

对于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);
}
}

相关文章:

  • 2021-10-06
  • 2022-01-03
  • 2021-10-22
  • 2021-09-14
  • 2021-11-29
  • 2021-11-21
  • 2021-06-12
猜你喜欢
  • 2022-01-11
  • 2021-11-25
  • 2021-10-10
  • 2021-10-03
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案