設計模式總結篇系列 觀察者模式(Observer)

2021-09-06 16:10:26 字數 912 閱讀 8146

觀察者模式中通常有兩個基本的概念主題:觀察者和被觀察者。當被觀察者狀態發生改變時,需要通知相應的觀察者,當然,每個被觀察者所對應的觀察者可能不知乙個,他們之間是1:n的關係。用專業一點的術語對觀察者模式的描述為:當乙個物件變化時,其它依賴該物件的物件都會收到通知,並且隨著變化。

觀察者模式的一般實現方式如下:

1.定義觀察者所具有的共同的介面:

1

inte***ce

observer

2.定義兩個觀察者:

1

class observera implements

observer

7 }

1

class observerb implements

observer

7 }

3.定義被觀察者所具有的抽象父類:

1

abstract

class

observable 89

public

void

del(observer observer)

1213

public

void

notifyobservers() 18}

1920

public

void

operation()

23 }

4.定義具體的被觀察者:

class concretobservable extends

observable

}

5.測試:

1

public

class

observertest

1011 }

設計模式系列 觀察者模式

觀察者模式定義了物件之間的一對多依賴,讓多個觀察者物件同時監聽乙個主體物件。當主體物件發生變化時,它的所有依賴者 觀察者 都會收到通知並更新。觀察者模式主要用於在關聯行為之間建立一套觸發機制的場景,支援廣播通訊。觀察者模式也被稱為 發布 訂閱模式。場景 新聞社開發了一套新聞訂閱服務,他們會給每個訂閱...

設計模式總結 觀察者模式

做開發這麼長時間了,設計模式用的真是不多,最近閒下來再看一遍設計模式,結合著開發經驗應該可以更深層次的理解了 觀察者模式適用於對於同一批資料需要多種展現形式的需求,也就是物件一對多的依賴形式,以head first中案例 我們有乙個氣象局,裡面有溫度,濕度,氣壓等指標,現在我們需要三種不同的展現形式...

學習篇 設計模式 觀察者模式

觀察者模式定義了物件間的一種一對多依賴關係,使得每當乙個物件改變狀態,則所有依賴於它的物件都會得到通知並被自動更新。它將觀察者和被觀察者的物件分離開。提高了應用程式的可維護性和重用性。觀察者模式又稱為發布 訂閱 publish subscribe 模式。使用場景 1 對乙個物件狀態的更新,需要其他物...