簡介:
觀察者模式(又被稱為發布-訂閱(public/subscribe))模式,屬於行為型模式的一種,它定義了一種一對多的依賴關係,讓多個觀察者物件同時監聽某乙個主題物件。這個主題物件再狀態變化時,會通知所有的觀察者物件,使他們能夠自動更新自己。**塊:
"public"
>發布動態<
/button>
// 觀察者 粉絲
class
fan//接收動態
update()
接收到變化`)}
}class
star
//新增粉絲
add(fan)
//通知粉絲
public()
)this
.fans.
foreach
(fan =>)}
}let star =
newstar()
;let f1 =
newfan
('小紅');
let f2 =
newfan
('小藍');
let f3 =
newfan
('小綠');
let f4 =
newfan
('小灰');
star.
add(f1)
; star.
add(f2)
; star.
add(f3)
; star.
add(f4)
;let
public
= document.
queryselector
('#public');
public
.addeventlistener
('click',(
)=>
)<
/script>
觀察者模式 訂閱發布模式
觀察者模式是一種物件間的一對多依賴關係,當乙個物件的狀態發生變化時,所有依賴他的物件都將得到通知。通常運用在物件之間的訊息通訊中。比如現在有一群學生,可以組成小組,可以尋求幫助 class students askforhelp subject 向大家尋求幫助 this.tasks.foreach ...
發布訂閱者模式 觀察者模式總結
觀察者模式定義 subject維持一系列它的物件observer,當有關狀態發生變更時subject物件則會通知一系列observer物件進行更新。在subject物件新增了一系列observer物件之後,subject維持一系列observer物件,當有關狀態發生變更時subject物件則會通知這...
觀察者模式 vs 發布 訂閱模式
我曾經在面試中被問道,觀察者模式和發布訂閱模式的有什麼區別?我迅速回憶起 head first設計模式 那本書 發布 訂閱 觀察者模式 我知道了,我知道了,別想騙我 我微笑著回答 沒有區別,它們是一樣的。但是面試官笑了,不,它們不一樣。我當時的表情 所以是我錯了嗎?之後我回到家開啟google查詢答...