Observer 觀察者 設計模式

2021-07-08 17:00:17 字數 1857 閱讀 4937

宣告:本博文篇幅短,適合review。

一、概念

定義了一種一對多的依賴關係,讓多個觀察者物件同時監聽某乙個主題物件。這個主題物件在狀態發生變化時,會通知所有觀察者物件,使他們能夠自動更新自己。

二、模式結構圖

三、例子

四、優缺點

1、優點

a、降低了觀察者與被觀察者之間的耦合。

b、subject在傳送廣播通知的時候,無須指定具體的observer,observer可以自己決定是否要訂閱subject的通知。

c、觀察者模式支援廣播通訊。

2、缺點

a、觀察者過多,存在效率問題。

b、松耦合可能導致關係不明確而不易理解。

Observer觀察者設計模式

observer設計模式主要包括以下兩種物件 1 被觀察物件 subject,它往往包含其他物件感興趣的東西,上面例子中熱水器中就是subject 被監視物件 2 觀察物件 observer,它觀察著subject,當subject中的某件事發生後,會告知observer,obersver會採取相應...

觀察者(observer)設計模式

假設我們有個高檔的熱水器,我們給它通上電,當水溫超過95度的時候 1 揚聲器會開始發出語音,告訴你水的溫度 2 液晶屏也會改變水溫的顯示,來提示水已經快燒開了。現在假設熱水器由三部分組成 熱水器 警報器 顯示器,它們來自於不同廠商並進行了組裝。那麼,應該是熱水器僅僅負責燒水,它不能發出警報也不能顯示...

設計模式 觀察者模式(observer

有時被稱作發布 訂閱模式,觀察者模式定義了一種一對多的依賴關係,讓多個觀察者物件同時監聽某乙個主題物件。這個主題物件在狀態發生變化時,會通知所有觀察者物件,使它們能夠自動更新自己。很經典的是cegui中的事件通知模式 模式中的角色 1 抽象主題 它把所有觀察者物件的引用儲存到乙個聚集裡,每個主題都可...