-
優(yōu)點(diǎn): 1,觀察者模式實(shí)現(xiàn)了觀察者和目標(biāo)之間的抽象耦合; 2,觀察者模式實(shí)現(xiàn)了動態(tài)聯(lián)動 3,觀察者模式支持廣播通信 缺點(diǎn): 可能會引起無謂的操作---->引起誤更新
查看全部 -
認(rèn)識觀察者模式:
1、目標(biāo)與觀察者之間的關(guān)系
? ?一對一、一對多、多對一(觀察者需要定義多個update方法用于區(qū)分)
2、單項(xiàng)依賴
? ?觀察者依賴目標(biāo),觀察者一直在等待目標(biāo)的通知
3、命名建議
? ?觀察者模式又被稱為發(fā)布訂閱模式
? ?①目標(biāo)接口的定義,名稱加Subject后綴
? ?②觀察者接口的定義,名稱加Observer后綴
? ?③觀察者接口的更新方法,名稱為update
4、觸發(fā)通知的時機(jī)
? ?先修改狀態(tài)再通知,否則會導(dǎo)致狀態(tài)不一致
5、觀察者模式的調(diào)用順序示意圖
? ?①準(zhǔn)備階段
創(chuàng)建目標(biāo)對象-》創(chuàng)建觀察者對象-》向目標(biāo)對象注冊觀察者對象
? ?②運(yùn)行階段
改變目標(biāo)對象的狀態(tài)-》通知所有注冊的觀察者對象進(jìn)行相應(yīng)的處理-》回調(diào)目標(biāo)對象,獲取相應(yīng)的數(shù)據(jù)
6、通知的順序
? ?多個觀察者之間是沒有先后順序的
查看全部 -
觀察者模式流程圖
查看全部 -
觀察者? 代碼
查看全部 -
ceshi查看全部
-
extennds Observabl
this.setChanged();
this.notifyObservers();
查看全部 -
觀察者模式的使用情況查看全部
-
觀察者模式的本質(zhì)
查看全部 -
觀察者的優(yōu)點(diǎn)查看全部
-
兩種模型比較1查看全部
-
推模型。。查看全部
-
拉模型。。
查看全部
舉報