[GoF23] Java中的觀察者模式(Observer)
Java作為一種面向對象的開發語言,對實現設計模式提供了良好的支持,并且提供了許多默認的實現,比如:通過Java中的Observable類和Observer接口可以方便的實現觀察者模式。
下面我們就用一個實際的例子來說明:日常生活中說起觀察者,最常見的例子可能就是天氣預報,在這里我們的觀察對象是地球,而我們是通過發射氣象衛星這個觀察者來檢測地球氣象變化的。
所以這個例子中涉及三個對象:
地球?(Earth):?????????????????????被觀察對象
氣象衛星(Satellite):????????????觀察者
氣象局(WeatherService):??? 客戶端調用
被觀察對象:地球?(Earth)






































[注意] 在需檢測的對象前需要設置變化點setChanged()和通知觀察者notifyObservers(),這兩個函數是由Observable類實現的,封裝了觀察者模式實現的細節。
觀察者:氣象衛星(Satellite)























客戶端調用:氣象局(WeatherService)
































[運行結果]





posted on 2006-05-18 10:54 zJun's帛羅閣 閱讀(1939) 評論(2) 編輯 收藏 所屬分類: 設計模式