亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

觀察者模式

GerryZhang JAVA開發工程師
難度中級
時長 1小時56分
學習人數
綜合評分9.53
113人評價 查看評價
9.7 內容實用
9.6 簡潔易懂
9.3 邏輯清晰
這個老師講的比別人好
黃明都跑了
不是應該先寫接口再寫業務邏輯,怎么還可以這樣寫?obsercer的update()方法拿來的?早去干嗎了??!
還沒有見過這么寫代碼的
用上時序圖,簡直太棒了
;;p;;;;;;;;;
我擦,我女神:鄭秀晶!
怎么沒有課程代碼?
Observer是接口,而Observable是類
這判斷性能很差,不能動態實現區分觀察者.我的方法是在觀察者接口聲明一個獲取不需要更新的內容的方法,方法返回字符串數組.觀察者把不需要更新的信息保存在字符串數組中.
在被觀察者類的notify方法中定義臨時變量存放準備更新的狀態信息,然后定義一個布爾類型的標識,默認為true,用來判斷是否需要更新.然后通過for循環遍歷觀察者列表,再嵌套一個for循環來獲取觀察者不需要更新的內容數組,臨時變量與獲取不需要更新的內容比較,如果符合則把標識設置為false,可直接跳出當前循環,沒必要再繼續判斷,然后如果更新標識為true,則更新,否則把更新標識重置為true.
List<String> list =new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
for(String str:list){
System.out.println(str);
}
運行結果為1 2 3 4 5

如果目標接口使用List集合來存儲觀察者列表,然后在notify()方法中循環遍歷觀察者列表,并進行通知,那么通知的順序不就是注冊觀察者時的順序嗎?為什么老師說理論上不行.

最新回答 / leowei
個人理解,是 這幾個觀察者之間沒有緊密的依賴關系!是平行的關系,或者是比較獨立的
老師講得非常好!
痛苦的是沒有源代碼來復習
老師從生活中的場景出發,給我們講述了觀察者模式,很不錯
課程須知
學習本課程前,需要具備Java基礎,面向對象的程序設計思想。如果對這些知識不熟悉,可以學習《Java入門第一季》和《Java入門第二季》這兩門課程。
老師告訴你能學到什么?
1、理解觀察者模式的概念和結構 2、掌握如何將觀察者模式應用到項目中,解決項目實際問題 3、掌握觀察者模式的應用場景

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消