notifyObserver() 方法內(nèi)部調(diào)用notifyObserver(null) ;
執(zhí)行update的時(shí)候 會(huì)把changed重置為false,這樣每次update之前其實(shí)都需要調(diào)用setChanged重新開(kāi)啟
執(zhí)行update的時(shí)候 會(huì)把changed重置為false,這樣每次update之前其實(shí)都需要調(diào)用setChanged重新開(kāi)啟
2017-09-14
Observer接口定義多一個(gè)方法 boolean isInterest(Subject subject),根據(jù)目標(biāo)對(duì)象判斷是否感興趣。在Subject抽象類中的notifyObservers方法里,就可以循環(huán)判斷每個(gè)觀察者是否感興趣,感興趣才調(diào)用update方法:
for (Observer o : observers) {
if (o.isInterest(this)) {
o.update(this);
}
}
代碼:http://suo.im/3OaZgm
for (Observer o : observers) {
if (o.isInterest(this)) {
o.update(this);
}
}
代碼:http://suo.im/3OaZgm
2017-09-08
已采納回答 / aviyy
因?yàn)榻杩诙x中會(huì)將Observable實(shí)現(xiàn)類的引用和推得具體消息都傳過(guò)去,所以可以推可以拉,但是如果用notifyObservers()的話,沒(méi)有具體消息了,就只能拿引用去拉了。
2017-09-06
這樣的代碼設(shè)計(jì)很爛吧,應(yīng)該設(shè)置成觀察者訂閱天氣,而不是目標(biāo)隨觀察者變化??粗@樣的代碼,心累
2017-08-30
講的很深入,很實(shí)用,比較優(yōu)缺點(diǎn)很詳盡。推拉模型,已經(jīng)jdk中包實(shí)現(xiàn)的過(guò)程。大贊a~~
2017-08-22
我覺(jué)得大家應(yīng)該學(xué)會(huì)感恩,不要過(guò)于糾結(jié)這些聲音什么之類的問(wèn)題。。。免費(fèi)分享的教程,太多抱怨,是對(duì)別人不尊重!
2017-08-13
因?yàn)閷?shí)際情況下觀察者狀態(tài)的改變應(yīng)該是異步的,所以不知道誰(shuí)先誰(shuí)后。
2017-08-05
個(gè)人覺(jué)得老師講得挺好,強(qiáng)烈支持,希望出更多的設(shè)計(jì)模式課程
2017-08-03