国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

設(shè)計模式:觀察者模式

2022-07-16 16:38 作者:做架構(gòu)師不做框架師  | 我要投稿


什么是觀察者模式

觀察者模式(Observer Pattern),也叫做發(fā)布/訂閱模型(Publish/Subscribe)。在此種模式中,一個目標(biāo)物件管理所有相依于它的觀察者物件,并且在它本身的狀態(tài)改變時主動發(fā)出通知。這通常透過呼叫各觀察者所提供的方法來實(shí)現(xiàn)。此種模式通常被用在即時事件處理系統(tǒng)。

一句話歸納

解耦觀察者與被觀察者

示例

在我很小的時候,我看過很多動畫片,比如“藍(lán)貓?zhí)詺馊枴薄ⅰ吧颀埗肥俊?、“迪迦奧特曼”等等,但有一部動畫片雖然全程文字少的可憐,但還是讓我的童年充滿樂趣,它叫做“貓和老鼠”,我記得有一個故事講的是某一個夜晚,湯姆找杰瑞玩游戲,但杰瑞想盡辦法叫醒湯姆的主人,主人醒了打了湯姆一頓,很搞笑~

在這個故事中,湯姆是被觀察者,而杰瑞和主人是觀察者,代碼如下:

適用性

以下場景我建議你考慮使用

  • 一個對象的改變將導(dǎo)致其他一個或多個對象也發(fā)生改變,而不知道具體有多少對象將發(fā)生改變,可以降低對象之間的耦合度。

  • 實(shí)現(xiàn)類似廣播機(jī)制的功能,不需要知道具體收聽者,只需分發(fā)廣播,系統(tǒng)中感興趣的對象會自動接收該廣播。

  • 需要在系統(tǒng)中創(chuàng)建一個觸發(fā)鏈,可以使用觀察者模式創(chuàng)建一種鏈?zhǔn)接|發(fā)機(jī)制

局限性

以下場景我建議你謹(jǐn)慎使用

  • 目標(biāo)與觀察者之間的依賴關(guān)系并沒有完全解除,而且有可能出現(xiàn)循環(huán)引用。

  • 當(dāng)觀察者對象很多時,通知的發(fā)布會花費(fèi)很多時間,影響程序的效率。

END

好兄弟可以點(diǎn)贊并關(guān)注我的公眾號“javaAnswer”,全部都是干貨。


設(shè)計模式:觀察者模式的評論 (共 條)

分享到微博請遵守國家法律
安平县| 锦州市| 措美县| 邳州市| 汉源县| 剑河县| 邛崃市| 新郑市| 千阳县| 辽宁省| 定州市| 辽源市| 中西区| 柞水县| 四会市| 杭州市| 钦州市| 临安市| 嘉禾县| 武川县| 盐源县| 濉溪县| 略阳县| 高青县| 司法| 儋州市| 庆安县| 三原县| 日喀则市| 久治县| 汪清县| 鹤山市| 延边| 泗洪县| 垦利县| 湖州市| 盘锦市| 航空| 读书| 萝北县| 安多县|