發布訂閱者模式 觀察者模式總結

2022-09-07 12:30:09 字數 1080 閱讀 5320

/**

* 觀察者模式定義: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...