1. 程式人生 > >設計模式筆記8: 觀察者模式

設計模式筆記8: 觀察者模式

image 子類 http view 完全 log 註冊 功能 技術分享

1.1  定義

  定義了一種一對多的依賴關系,讓多個觀察者同時監聽一個對象,但這個對象發生變化時,會通知所有觀察者對象,使他們能夠更新自己。

1.2  類圖

技術分享

1.3  代碼

技術分享 View Code

調用:

技術分享 View Code

1.4  總結

  我們定義觀察者和通知者和通知者兩個抽象父類都是為了面向抽象編程,以後再增加新的功能時增加新的類,而不修改原有的子類。 還有一個耦合:我們通知者對象通知觀察者時執行的方法都是同一個方法。方法的執行體雖然已經被觀察者重寫,但是名字還是一致的。所以我們在通知者中增加了委托類型的成員,只需要將通知觀察者的方法,註冊給通知者的委托成員。這樣就能完全自定義執行的方法了。

設計模式筆記8: 觀察者模式