22觀察者模式

定義:定義對象間一種一對多的依賴關係,使得每 當一個對象改變狀態,則所有依賴於它的對象都會得到通知並被自動更新。

圖一

理解:

Observer(觀察者):update方法,在Observable(被觀察者)發生變化時執行。

Observable(被觀察者):addObserver()添加觀察者,deleteObserver()刪除觀察者,notifyObserver()通知全部觀察者,並且執行(觀察者)中的update()方法。而notifyObserver的執行在haveBreakfast()和haveFun()中,因爲這兩個相當於讓(被觀察者)產生變化。

注意:這裏的觀察過程,跟平時理解的不一樣。生活中的理解,應該是 (觀察者)主動添加和觀察(被觀察者)。程序中則正好相反。

圖二:通用類圖

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章