var publisher = ,
// 新增訂閱這方法
subscribe:function(fn,type)
this.subscribers[type].push(fn);//如果已經存在了,就把訂閱觸發的方法加到訂閱陣列裡面
},// 刪除訂閱者
unsubscribe : function(fn,type),
// 出版 只有發布者才能出版
publish : function(publication,type),
//處理刪除或者出版的方法
visitsubscribers : function(action,arg,type){
var pubtype = type || 'any', //呼叫哪個訂閱者庫
subscribers = this.subscribers[pubtype],//
i,max = subscribers.length;
console.log(subscribers)
for(i=0;i
訂閱者模式(觀察者模式)
include include include struct notification virtual void process 0 class subscribera public notification class subscriberb public notification class p...
觀察者模式(訂閱模式)
定義物件間一種一對多的關係,使得每當乙個物件改變狀態,則所有依賴他的物件都會得到通知並被自動更新。使用場景 1 某些時候需要一些物件有所關聯,而且這種關聯是可以拆分而不是組合在一起的。2 某一事件發生,需要向多方觸發。3 訊息交換,如訊息佇列 事件匯流排的處理機制。1 subject 抽象主題,被觀...
觀察者模式和訂閱者模式
1 要有個存放訂閱的事件佇列 2 通過on去訂閱事件 3 emit去觸發事件 const fs require fs node的自帶模組 const path require path const resolve file console.log resolve age.txt let evento...