亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java觀察者模式是什么

發布時間:2021-09-01 09:29:52 來源:億速云 閱讀:122 作者:chen 欄目:大數據

本篇內容介紹了“java觀察者模式是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

觀察者模式

① 觀察者模式的概念

觀察者模式(Observer),又叫發布-訂閱模式(Publish/Subscribe),定義對象間一種一對多的依賴關系,使得每當一個對象改變狀態,則所有依賴于它的對象都會得到通知并自動更新。UML結構圖如下:

java觀察者模式是什么

舉個例子:就比如是 天氣觀測站和氣象報告板的關系。但報告板想獲取觀測站的數據,可以注冊加入到觀測站的觀察者列表中,這就可以使觀測站有數據更新時,自動傳給氣象報告板。

java觀察者模式是什么

WeatherData 相當于氣象觀測站 和 觀察者的 一個中介。WeatherData 獲取來自氣象觀測站的數據后,向觀察者發送數據。

② 觀察者模式的結構

觀察者模式的主要角色如下:

  1. 抽象主題(Subject)角色:也叫抽象目標類,它提供了一個用于保存觀察者對象的聚集類和增加、刪除觀察者對象的方法,以及通知所有觀察者的抽象方法。

  2. 具體主題(Concrete    Subject)角色:也叫具體目標類,它實現抽象目標中的通知方法,當具體主題的內部狀態發生改變時,通知所有注冊過的觀察者對象。

  3. 抽象觀察者(Observer)角色:它是一個抽象類或接口,它包含了一個更新自己的抽象方法,當接到具體主題的更改通知時被調用。

  4. 具體觀察者(Concrete Observer)角色:實現抽象觀察者中定義的抽象方法,以便在得到目標的更改通知時更新自身的狀態。

③ 觀察者模式的優缺點
  • 優點:

    • 降低了目標與觀察者之間的耦合關系,兩者之間是抽象耦合關系。

    • 目標與觀察者之間建立了一套觸發機制。

  • 缺點

    • 如果一個被觀察者對象有很多的直接和間接的觀察者的話,將所有的觀察者都通知到會花費很多時間 。

    • 目標與觀察者之間的依賴關系并沒有完全解除,而且有可能出現循環引用 。

“java觀察者模式是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁津县| 吉林市| 榆树市| 托克逊县| 南昌市| 祁门县| 时尚| 湖北省| 额济纳旗| 阿克苏市| 通山县| 论坛| 获嘉县| 和平区| 滨州市| 象州县| 当涂县| 始兴县| 屏东市| 芜湖县| 沅陵县| 罗江县| 西藏| 大荔县| 灵寿县| 包头市| 宁化县| 沂水县| 公主岭市| 蓬溪县| 夏津县| 贵定县| 蕲春县| 沛县| 吉木萨尔县| 宁安市| 从江县| 惠水县| 武川县| 罗田县| 察哈|