訂閱者模式(觀察者模式)

2021-06-05 13:36:15 字數 484 閱讀 1454

#include #include #include struct notification

virtual void process() = 0;

};class subscribera: public notification

};class subscriberb: public notification

};class publisher

auto it = _listsubscribers.begin();

while (it != _listsubscribers.end())

++it;

} _listsubscribers.push_back(subscriber);

} void start()

private:

void notifysubscribers() }

};int main()

觀察者模式(訂閱模式)

定義物件間一種一對多的關係,使得每當乙個物件改變狀態,則所有依賴他的物件都會得到通知並被自動更新。使用場景 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...

觀察者模式(發布訂閱模式)

簡介 觀察者模式 又被稱為發布 訂閱 public subscribe 模式,屬於行為型模式的一種,它定義了一種一對多的依賴關係,讓多個觀察者物件同時監聽某乙個主題物件。這個主題物件再狀態變化時,會通知所有的觀察者物件,使他們能夠自動更新自己。塊 public 發布動態 button 觀察者 粉絲 ...