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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

觀察者模式

GerryZhang JAVA開發(fā)工程師
難度中級(jí)
時(shí)長(zhǎng) 1小時(shí)56分
學(xué)習(xí)人數(shù)
綜合評(píng)分9.53
113人評(píng)價(jià) 查看評(píng)價(jià)
9.7 內(nèi)容實(shí)用
9.6 簡(jiǎn)潔易懂
9.3 邏輯清晰
  • 觀察者模式總結(jié)----(二) /** * 觀察者的具體實(shí)現(xiàn)---天氣預(yù)報(bào) */ public class WeatherSubject extends Subject { private String weatherState; //當(dāng)前天氣狀態(tài) public String getWeatherState() { return weatherState; } /** * 當(dāng)天氣的狀態(tài)發(fā)生改變的時(shí)候,要通知到所有的觀察者 * @param weatherState */ public void setWeatherState(String weatherState) { this.weatherState = weatherState; notifyAllObserver(weatherState);//調(diào)用父類的方法,通知所有的觀察者。告知其天氣狀態(tài) } } /** * 觀察者,有update接口,用來接受目標(biāo)類的通知 */ public interface Observer { /** * @param obj 目標(biāo)類 調(diào)用(通知) 觀察者對(duì)象該方法時(shí),傳入的通知內(nèi)容 */ void update(Object obj); } 測(cè)試 WeatherSubject subject=new WeatherSubject(); //創(chuàng)建天氣目標(biāo)對(duì)象 subject.attach(new Observer() { public void update(Object obj) { System.out.println("我是觀察者A,天氣為"+obj); } }); //增添觀察者 subject.attach(new Observer() { public void update(Object obj) { System.out.println("我是觀察者B,天氣為"+obj); } }); System.out.println("通知前。。。。"); subject.setWeatherState("晴天"); System.out.println("通知后。。。。");
    查看全部
  • 觀察者模式總結(jié)-----(一) /** * 觀察者模式: 一個(gè)目標(biāo)類,多個(gè)觀察者(用來觀察目標(biāo))。 * 當(dāng)目標(biāo)類發(fā)生變化時(shí),可以通知到他的所有觀察者。 * * 原理:利用回掉函數(shù)機(jī)制。 所有“觀察者類”繼承一個(gè)“接口”(如Observer),該接口中有一個(gè) * 方法(如,update())。將所有的觀察者增添到“目標(biāo)類”的“鏈表”中,當(dāng)目標(biāo)類的狀態(tài)發(fā)生改變時(shí), * 目標(biāo)類可以遍歷鏈表中的所有觀察者,調(diào)用其update通知到所有的觀察者。 * * 案例描述:有一個(gè) 天氣預(yù)報(bào)(目標(biāo)) 類,許多觀察者類(如,網(wǎng)站,人等)需要第一時(shí)間得知天氣的變化, * 然后做各自的處理。 */ /** * 目標(biāo)類,用來增,刪觀察者,通知觀察者 */ public class Subject { private List<Observer> observerList=new ArrayList<>();//存儲(chǔ)觀察該目標(biāo)的觀察者 /** * 增添一個(gè)觀察者 * @param observer 要增添的觀察者 */ public void attach(Observer observer) { observerList.add(observer); } /** * 刪除一個(gè)觀察者 * @param observer 要?jiǎng)h除的觀察者 */ public void detach(Observer observer) { observerList.remove(observer); } /** * 通知所有的觀察者 * @param obj 要通知的信息 */ public void notifyAllObserver(Object obj) { for(Observer observer: observerList) { observer.update(obj);//遍歷所有的觀察者,依次調(diào)用其update方法。 } } }
    查看全部
  • 觀察者實(shí)現(xiàn)模式的兩種方式,推模式和拉模式。
    查看全部
  • 觀察者模式,要通過java的observer類。觀察者,你要先創(chuàng)建一個(gè)觀察者和被觀察者。
    查看全部
  • 觀察者模式的定義 定義對(duì)象間的一種一對(duì)多的依賴關(guān)系。當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并自動(dòng)更新。
    查看全部
    0 采集 收起 來源:課程簡(jiǎn)介

    2017-04-13

  • 觀察者模式流程
    查看全部
    0 采集 收起 來源:課程簡(jiǎn)介

    2017-04-10

  • 觀察者模式的定義 定義對(duì)象間的一種一對(duì)多的依賴關(guān)系。當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并自動(dòng)更新。
    查看全部
    0 采集 收起 來源:課程簡(jiǎn)介

    2017-04-01

  • 觀察者模式應(yīng)用場(chǎng)景
    查看全部
  • 模式的秘密---觀察者模式——利用Java提供的觀察者實(shí)現(xiàn) Java 實(shí)現(xiàn) VS 自己實(shí)現(xiàn)的對(duì)比四點(diǎn): (1)不需要再定義觀察者和目標(biāo)接口(JDK已經(jīng)定義)。 (2)具體的目標(biāo)實(shí)現(xiàn)里面不需要再維護(hù)觀察者的注冊(cè)信息,Java中的Observable類里面已經(jīng)實(shí)現(xiàn)。 (3)觸發(fā)通知的方式有一點(diǎn)變化,要先調(diào)用setChanged方法,這個(gè)是Java為了幫助實(shí)現(xiàn)更精確的觸發(fā)控制而提供的功能。 (4)具體觀察者的實(shí)現(xiàn)里面,update方法其實(shí)能同時(shí)支持推模型和拉模型,這個(gè)Java在定義的時(shí)候,已經(jīng)考慮。
    查看全部
  • 命名建議
    查看全部
  • 官方定義
    查看全部
    0 采集 收起 來源:課程簡(jiǎn)介

    2017-03-20

  • 需求總結(jié)
    查看全部
  • 3
    查看全部
    0 采集 收起 來源:測(cè)試

    2017-03-10

  • 2
    查看全部
    0 采集 收起 來源:測(cè)試

    2017-03-10

  • 111
    查看全部

舉報(bào)

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

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

微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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

友情提示:

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