第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

觀察者模式

GerryZhang JAVA開發(fā)工程師
難度中級
時長 1小時56分
學(xué)習(xí)人數(shù)
綜合評分9.53
113人評價 查看評價
9.7 內(nèi)容實用
9.6 簡潔易懂
9.3 邏輯清晰
  • 觀察者的優(yōu)缺點: (1)觀察者模式實現(xiàn)了觀察者和目標(biāo)之間的抽象耦合。原本目標(biāo)對象在狀態(tài)發(fā)生改變的時候需要直接調(diào)用所有的觀察者對象,但是抽象出觀察者接口以后,目標(biāo)和觀察者就只是在抽象上耦合了,也就是說目標(biāo)只知道觀察者的接口,不知道具體的觀察者的類,從而實現(xiàn)了目標(biāo)類和具體觀察者類之間的解耦。 (2)觀察者模式實現(xiàn)了動態(tài)聯(lián)動(做一個操作會引起其他相關(guān)的操作)由于觀察者模式對觀察者進(jìn)行注冊管理,就可以在運行期間通過動態(tài)的控制注冊的觀察者來控制某個動作的聯(lián)動范圍。 (3)觀察者模式支持廣播通信。 缺點: (1)可能會引起無謂的操作。
    查看全部
  • notifyObservers 這個方法有兩種形式,當(dāng)使用帶參數(shù)的類型時就屬于推模式,僅僅傳入信息,當(dāng)用無參的方法時,其實是將對象的引用傳給觀察者的update方法來進(jìn)行操作,這兩種方式只能用一個。
    查看全部
  • 我么可以使用java中自帶的觀察者模式實現(xiàn)觀察者模式,在java.util包中有一個Observable類,他實現(xiàn)了大部分我們需要的目標(biāo)的功能,還有一個接口Observer,定義了update()方法。 (1)不需要再定義觀察者和目標(biāo)的接口了,JDK幫忙定義了。 (2)具體目標(biāo)的實現(xiàn)里面不需要在維護(hù)的注冊信息了,這個在java中的Observable類里面已經(jīng)幫忙實現(xiàn)好了。 (3)觸發(fā)通知的方式有一點變化,首先要強調(diào)使用setChanged方法這個是java為了幫助實現(xiàn)更精確的觸發(fā)控制而提供的功能。 (4)具體的觀察者實現(xiàn)里面,update方法其實能同時支持推模型和拉模型,這個是java在定義的時候已經(jīng)考慮進(jìn)去了。
    查看全部
  • 1,推模型:假定目標(biāo)知道觀察者需要的數(shù)據(jù)。使觀察者難以復(fù)用,需要重新實現(xiàn)update方法。 2,拉模型:不知道觀察者具體需要什么數(shù)據(jù),因此把自身傳遞給觀察者,由觀察者來取值, update方法的參數(shù)是目標(biāo)對象本身,基本可以適應(yīng)各種情況的需要。
    查看全部
  • 觀察者模式中的推模型和拉模型: 1,推模型:目標(biāo)對象主動向觀察者推送目標(biāo)的詳細(xì)信息,不管觀察者是否需要,推送的信息通常是目標(biāo)對象的全部或部分?jǐn)?shù)據(jù)。相當(dāng)于是在廣播通信。 2,拉模型:目標(biāo)對象再通知觀察者時,值傳遞少量信息,如果觀察者需要具體的信息,由觀察者主動到目標(biāo)對象中獲取,相當(dāng)于是觀察者從目標(biāo)對象中拉數(shù)據(jù)。一般這種模型的實現(xiàn)中會把目標(biāo)對象自身通過update方法傳遞給觀察者。這樣就可以通過這個引用獲取。
    查看全部
  • 5,觀察者模式的調(diào)用順序示意圖:
    查看全部
  • 1,一個觀察者可以關(guān)注多個目標(biāo) 2,觀察者模式中,觀察者和目標(biāo)是單向依賴,只有觀察者依賴目標(biāo)不是目標(biāo)依賴觀察者主動權(quán)掌握在目標(biāo)的手中只有目標(biāo)知道什么時候通知觀察者,整個過程中觀察者始終是被動的。 3,命名建議:觀察者模式又稱為“發(fā)布訂閱模式” (1)目標(biāo)接口的定義建議在名稱后面跟上Subject。 (2)觀察者接口的定義,建議在名稱后面跟Observer。 (3)觀察者接口更新的方法建議名稱為update。 4,觸發(fā)通知的時機: (1)一般是在完成狀態(tài)維護(hù)后觸發(fā)因為通知會傳遞數(shù)據(jù),先通知后改數(shù)據(jù)會導(dǎo)致觀察者和對象的狀態(tài)不一致。
    查看全部
  • 認(rèn)識觀察者的六大方面: 1,目標(biāo)與觀察者之間的關(guān)系 2,單項依賴 3,命名建議 4,觸發(fā)通知的時期 5,觀察者模式的調(diào)用順序示意圖 6,通知的順序。
    查看全部
  • 定義觀察者模式的四個步驟:
    查看全部
  • 觀察者模式:定義對象間的一種一對多的依賴關(guān)系。當(dāng)對象的狀態(tài)發(fā)生改變時,所有依賴于它的對象都得到通知并被自動更新。 一對多模式:一個目標(biāo)可以有任意多個觀察者對象,一旦目標(biāo)的狀態(tài)發(fā)生改變,目標(biāo)的所有觀察者都會做出相對應(yīng)的響應(yīng)
    查看全部
    0 采集 收起 來源:課程簡介

    2017-07-26

  • 命名建議
    查看全部
  • 觀察者模式的結(jié)構(gòu)
    查看全部
  • 觀察模式的好處:統(tǒng)一通知,各自處理;
    查看全部
  • ...
    查看全部
  • 1.當(dāng)一個抽象模型有兩個方面,其中一個方面的操作依賴于另一個方面的狀態(tài)變化時 2.如果在封蓋一個對象的時候,需要同時連帶改變其他的對象,而且不知道究竟應(yīng)該有對少對象需要被連帶改變 3.當(dāng)一個對象必須通知其他的對象,但是你又希望這個對象和其他被他通知的對象是松散耦合的
    查看全部

舉報

0/150
提交
取消
課程須知
學(xué)習(xí)本課程前,需要具備Java基礎(chǔ),面向?qū)ο蟮某绦蛟O(shè)計思想。如果對這些知識不熟悉,可以學(xué)習(xí)《Java入門第一季》和《Java入門第二季》這兩門課程。
老師告訴你能學(xué)到什么?
1、理解觀察者模式的概念和結(jié)構(gòu) 2、掌握如何將觀察者模式應(yīng)用到項目中,解決項目實際問題 3、掌握觀察者模式的應(yīng)用場景

微信掃碼,參與3人拼團(tuán)

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對慕課網(wǎng)的支持!