其實(shí)核心就是那個(gè)set方法,set方法改變了自己(觀察者)的值的同時(shí),也修改了多個(gè)對象(被觀察者)的值,從而保持了一個(gè)對象的值改變時(shí)所有“依賴于”它的對象都得到了通知
public setXXX(Object XXX){
//自己改變
this.XXX=XXX;
//通知其他對象
notify(xxx);
}
public setXXX(Object XXX){
//自己改變
this.XXX=XXX;
//通知其他對象
notify(xxx);
}
2016-10-13
說的太復(fù)雜了,感覺沒有把觀察者模式的本質(zhì)講解明白。至于推模型和拉模型的區(qū)別,解釋的也比較生硬。其實(shí)在傳統(tǒng)的觀察者模式中,全都屬于推模式。拉模式應(yīng)該是在觀察者一段存在一個(gè)輪訓(xùn),然后每隔一段時(shí)間就向觀察對象回調(diào)一次數(shù)據(jù)。有變化就更新自己的狀態(tài),沒有變化就繼續(xù)輪訓(xùn)。
2016-10-12
在觀察者接口聲明一個(gè)需要獲取更新的列表,然后再在被觀察者類中循環(huán)判斷觀察者是否需要更新發(fā)布的內(nèi)容
2016-08-30