observer----觀察者模式:
當乙個變數值被修改時,可以自動通知所有關注這個變數的其他物件,讓他們自動重新獲得這個變數的新值。
vue裡是怎麼樣發出的通知,用觀察者模式發出的通知。
比如:大家都關心的變數money=1000,有乙個陣列觀察者們,乙個函式用於修改money的值,只要money的值被修改,所有關注這個變數的觀察者們都可以得到訊息。
data物件,專門儲存所有人關注的資料和操作方法,只不過需要額外定義乙個陣列,儲存所有關注這個資料的其他物件。
1.建立data物件
2.定義money
3.定義修改money的函式setmoney
4.定義乙個觀察者們的陣列
5.定義乙個notifyall()的函式,遍歷儲存所有觀察者物件的陣列
6.建立多個觀察者物件,每個觀察者物件都有乙個getmoney函式,可以獲得data中money的值,但是卻不知道何時money的值更新,何時需要重新獲得
7.將這些關注money的物件,追加到data物件的觀察者陣列裡
結果:只要data中用setmoney修改了money變數,就自帶notifyall()函式,遍歷儲存觀察者物件們的陣列,自動呼叫每個觀察者的getmoney()函式
結果:每個觀察者都能在money修改時,第一時間重新獲得money的新值
var data=
, observer:
,notifyall()
)}}var obj1=
} data.observer.
push
(obj1)
; data.
setmoney
(800);
console.
log(obj1.money)
;//800
觀察者模式 Observer
個人理解 觀察者模式的核心是subject的attach和detach方法,載入observer物件 uml類圖 實現 public abstract class subject public void detach observer observer public void notify publ...
觀察者模式 ObServer
觀察者模式 observer 定義物件間的一種一對多的依賴關係,當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新 觀察者模式 observer 觀察者模式定義了一對多依賴關係,讓多個觀察者物件同時監聽某乙個主題物件。讓主題物件在狀態發生變化時,會通知所有觀察者物件,讓他們能夠自動...
觀察者模式(OBSERVER)
觀察者模式是我選擇將其列出來的第乙個模式。看了這個模式的概念之後,有種豁然開朗的感覺。工作也由實踐上公升到了理論。平時使用的各種 net 控制項都使用了這種模式,將這種模式應用到組成乙個系統的各個元件中去,怎乙個 妙 字了得。理解了它之後,不竟又對 net 的框架敬佩有佳。不知道這其中隱藏了多少未知...