`
dajian
  • 浏览: 112948 次
  • 性别: Icon_minigender_1
  • 来自: 白云
社区版块
存档分类
最新评论

2.观察者模式-Observer

阅读更多
定义:

在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新


角色:

  • 主题(可观察者)
  • 观察者


可自己实现观察者模式,也可利用JDK内置的支持实现。这个比较简单:
主题(可观察者):java.util.Observable类
观察者:java.util.Observer接口


主题(可观察者)要如何送出通知?

1.继承java.util.Observable类
2.需要以下两个步骤:
    2.1先调用setChanged()方法,标记状态已经改变的事实
    2.2再调用两种notifyObservers()方法中的一种。
        notifyObservers()
       notifyObservers(Object arg)

如何将对象变成观察者?
1.每一个观察者必须实现java.util.Observer接口,让自己成为观察者
2.调用addObserver()方法

观察者如何接收通知?
在实现的Observer中update(Observable o, Object obj)即可
Observable o:让观察者知道是哪个主题通知它
Object obj:这正是上面notifyObservers()传入的数据



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics