国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

行為型模式 | 觀察者模式

這篇具有很好參考價(jià)值的文章主要介紹了行為型模式 | 觀察者模式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、觀察者模式

1、原理

觀察者模式又叫做發(fā)布-訂閱(Publish/Subscribe)模式,定義了一種一對(duì)多的依賴關(guān)系。讓多個(gè)觀察者對(duì)象同時(shí)監(jiān)聽某一個(gè)主題對(duì)象,這個(gè)主題對(duì)象在狀態(tài)上發(fā)生變化時(shí),會(huì)通知所有觀察者對(duì)象,使它們能夠自動(dòng)更新自己。

軟件系統(tǒng)常常要求在某一個(gè)對(duì)象的狀態(tài)發(fā)生變化的時(shí)候,某些其它的對(duì)象做出相應(yīng)的改變。觀察者模式是解決該類問題的很優(yōu)秀的方案,使用該模式減少對(duì)象之間的耦合,提升系統(tǒng)的可擴(kuò)展性。

2、關(guān)鍵角色

觀察者模式有下面幾個(gè)關(guān)鍵的角色,如下:

  • 抽象主題(Subject):抽象主題提供一組接口,可以增加和刪除觀察者對(duì)象,每個(gè)主題都可以有任何數(shù)量的觀察者
  • 具體主題(ConcreteSubject):保存注冊(cè)的觀察者及主題自身的狀態(tài),當(dāng)主題的狀態(tài)發(fā)生變化時(shí)通知觀察者
  • 抽象觀察者(Observer):為所有的具體觀察者定義一個(gè)接口,在得到主題的通知時(shí)更新自己
  • 具體觀察者(ConcreteObserver):保存主題的狀態(tài),實(shí)現(xiàn)抽象觀察者所要求的更新接口,以便使本身的狀態(tài)與主題的狀態(tài)保持一致

3、UML類圖

下面是觀察者模式對(duì)應(yīng)的UML類圖,如下:

行為型模式 | 觀察者模式,設(shè)計(jì)模式原理與分析,觀察者模式

4、使用場(chǎng)景

適用場(chǎng)景文章來源地址http://www.zghlxwxcb.cn/news/detail-814626.html

  • 對(duì)象間存在一對(duì)多關(guān)系,一個(gè)對(duì)象的狀態(tài)發(fā)生改變會(huì)影響其他對(duì)象
  • 實(shí)現(xiàn)類似廣播機(jī)制的功能,不需要知道具體收聽者,只需分發(fā)廣播,系統(tǒng)中感興趣的對(duì)象會(huì)自動(dòng)接收該廣播

到了這里,關(guān)于行為型模式 | 觀察者模式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 行為型設(shè)計(jì)模式之觀察者模式【設(shè)計(jì)模式系列】

    行為型設(shè)計(jì)模式之觀察者模式【設(shè)計(jì)模式系列】

    C++技能系列 Linux通信架構(gòu)系列 C++高性能優(yōu)化編程系列 深入理解軟件架構(gòu)設(shè)計(jì)系列 高級(jí)C++并發(fā)線程編程 設(shè)計(jì)模式系列 期待你的關(guān)注哦?。。?現(xiàn)在的一切都是為將來的夢(mèng)想編織翅膀,讓夢(mèng)想在現(xiàn)實(shí)中展翅高飛。 Now everything is for the future of dream weaving wings, let the dream fly in reali

    2024年02月15日
    瀏覽(17)
  • c#設(shè)計(jì)模式-行為型模式 之 觀察者模式

    c#設(shè)計(jì)模式-行為型模式 之 觀察者模式

    又被稱為發(fā)布-訂閱(Publish/Subscribe)模式,它定義了一種一對(duì)多的依賴關(guān)系,讓多個(gè)觀察者 對(duì)象同時(shí)監(jiān)聽某一個(gè)主題對(duì)象。這個(gè)主題對(duì)象在狀態(tài)變化時(shí),會(huì)通知所有的觀察者對(duì)象,使他們能夠自 動(dòng)更新自己。 在觀察者模式中有如下角色: Subject:抽象主題(抽象被觀察者)

    2024年02月14日
    瀏覽(21)
  • 笨蛋學(xué)設(shè)計(jì)模式行為型模式-觀察者模式【14】

    8.1.1概念 ? 觀察者模式定義了一種一對(duì)多的依賴關(guān)系,讓多個(gè)觀察者對(duì)象同時(shí)監(jiān)聽某一個(gè)主題對(duì)象,當(dāng)主題對(duì)象狀態(tài)發(fā)生變化時(shí),會(huì)通知所有依賴它的觀察者對(duì)象,使它們都能夠得到通知并且被自動(dòng)更新 8.1.2場(chǎng)景 ? 在我們生活中,用戶可以在音樂播放平臺(tái)關(guān)注多個(gè)歌手,而

    2024年01月24日
    瀏覽(27)
  • C++設(shè)計(jì)模式行為型之觀察者模式

    一、 概述 ????????觀察者模式定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新。 二、 示例代碼 #include list class Subject; class Observer { public: ?? ?virtual ~Observer(); ?? ?virtual void Update(Subject* theChangedSubject) =

    2024年02月14日
    瀏覽(27)
  • 深入理解設(shè)計(jì)模式-行為型之觀察者

    觀察者模式(Observer Pattern)是一種行為型設(shè)計(jì)模式,它定義了一種 一對(duì)多的依賴關(guān)系 ,讓 多個(gè)觀察者對(duì)象 同時(shí)監(jiān)聽一個(gè) 主題對(duì)象 ,當(dāng) 主題對(duì)象 發(fā)生 變化 時(shí),所有依賴于它的 觀察者 對(duì)象都會(huì)得到 通知并更新。 在觀察者模式中,有兩個(gè)主要角色: Subject(主題):維護(hù)

    2024年02月12日
    瀏覽(25)
  • 【設(shè)計(jì)模式——學(xué)習(xí)筆記】23種設(shè)計(jì)模式——觀察者模式Observer(原理講解+應(yīng)用場(chǎng)景介紹+案例介紹+Java代碼實(shí)現(xiàn))

    【設(shè)計(jì)模式——學(xué)習(xí)筆記】23種設(shè)計(jì)模式——觀察者模式Observer(原理講解+應(yīng)用場(chǎng)景介紹+案例介紹+Java代碼實(shí)現(xiàn))

    有一個(gè)天氣預(yù)報(bào)項(xiàng)目,需求如下: 氣象站可以將每天測(cè)量到的溫度、濕度、氣壓等等以公告的形式發(fā)布出去(比如發(fā)布到自己的網(wǎng)站或第三方) 需要設(shè)計(jì)開放型API,便于其他第三方也能接入氣象站獲取數(shù)據(jù) 提供溫度、氣壓、濕度的接口 測(cè)量數(shù)據(jù)更新時(shí),要能實(shí)時(shí)的通知給第三

    2024年02月14日
    瀏覽(19)
  • 【設(shè)計(jì)模式】觀察者模式

    【設(shè)計(jì)模式】觀察者模式

    觀察者模式(又被稱為發(fā)布-訂閱(Publish/Subscribe)模式,屬于行為型模式的一種,它定義了一種一對(duì)多的依賴關(guān)系,讓多個(gè)觀察者對(duì)象同時(shí)監(jiān)聽某一個(gè)主題對(duì)象。這個(gè)主題對(duì)象在狀態(tài)變化時(shí),會(huì)通知所有的觀察者對(duì)象,使他們能夠自動(dòng)更新自己。 Subject:抽象主題(被觀察者

    2024年02月13日
    瀏覽(19)
  • 設(shè)計(jì)模式---觀察者模式

    1,概念 ????????屬于行為模式的一種,定義了一種一對(duì)多的依賴關(guān)系,讓多個(gè)觀察者對(duì)象同時(shí)監(jiān)聽某一對(duì)象主題對(duì)象,這個(gè)主題對(duì)象在狀態(tài)變化時(shí),會(huì)通知所有的觀察者對(duì)象,使他們能夠自動(dòng)更新自己。 在觀察者模式中有如下角色: Subject:抽象主題(抽象被觀察者),

    2024年02月15日
    瀏覽(17)
  • 設(shè)計(jì)模式——觀察者模式

    設(shè)計(jì)模式——觀察者模式

    觀察者模式可以分為觀察者和被觀察者,觀察者通過注冊(cè)到一個(gè)被觀察者中,也可視為訂閱,當(dāng)被觀察者的數(shù)據(jù)發(fā)生改變時(shí),會(huì)通知到觀察者,觀察者可以據(jù)此做出反應(yīng)。 可以類比訂閱報(bào)紙,報(bào)社就是被觀察者,訂閱者就是觀察者,訂閱者通過訂閱報(bào)紙與報(bào)社建立聯(lián)系,而報(bào)

    2024年02月15日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包