/**
* 觀察者模式定義:subject維持一系列它的物件observer,當有關狀態發生變更時subject物件則會通知一系列observer物件進行更新。
* 在subject物件新增了一系列observer物件之後,subject維持一系列observer物件,當有關狀態發生變更時subject物件則會通知這
* 一系列observer物件進行更新
* splice講解(當前的索引,擷取的個數,增加的數字)
* @param 1個引數
* @patam 2個引數
* @param 3個引數
*/function
subject()
subject.prototype = ,
remove
:function (observer) }},
notify
:function () }}
varsub = new
subject();
varobs1 = new
observer('t1');
varobs2 = new
observer('t2');
observer.prototype =
}sub.add(obs1);
sub.add(obs2);
sub.notify();
/*** 發布訂閱模式指的是希望接收通知的物件(subscriber)基於乙個主題通過自定義事件訂閱主題,被啟用事件的物件(publisher)通過發布主題事件的方式通知各個訂閱該主題的 subscriber 物件。
* */
letpubsub = ,
// 訂閱
subscribe
:function (key, fn) ;
this.list[key].push(fn);
},// 發布
publish
:function ()
},// 取消訂閱
unsubscribe
:function (key)
}pubsub.subscribe('name', (name) => )
觀察者模式(發布訂閱模式)
簡介 觀察者模式 又被稱為發布 訂閱 public subscribe 模式,屬於行為型模式的一種,它定義了一種一對多的依賴關係,讓多個觀察者物件同時監聽某乙個主題物件。這個主題物件再狀態變化時,會通知所有的觀察者物件,使他們能夠自動更新自己。塊 public 發布動態 button 觀察者 粉絲 ...
觀察者模式 訂閱發布模式
觀察者模式是一種物件間的一對多依賴關係,當乙個物件的狀態發生變化時,所有依賴他的物件都將得到通知。通常運用在物件之間的訊息通訊中。比如現在有一群學生,可以組成小組,可以尋求幫助 class students askforhelp subject 向大家尋求幫助 this.tasks.foreach ...
訂閱者模式(觀察者模式)
include include include struct notification virtual void process 0 class subscribera public notification class subscriberb public notification class p...