1. 程式人生 > >反應器模式 vs 觀察者模式

反應器模式 vs 觀察者模式

反應器模式(Reactor pattern)與觀察者模式(Observer pattern)

反應器模式

是一種為處理服務請求併發提交到一個或者多個服務處理程式的事件設計模式。當請求抵達後,服務處理程式使用解多路分配策略,然後同步地派發這些請求至相關的請求處理程式。

觀察者模式

有時被稱作釋出/訂閱模式,觀察者模式定義了一種一對多的依賴關係,讓多個觀察者物件同時監聽某一個主題物件。這個主題物件在狀態發生變化時,會通知所有觀察者物件,使它們能夠自動更新自己。

將事件多路分用、將事件分派到各自相應的事件處理程式。

分散式系統中的伺服器應用程式必須處理多個向它們傳送服務請求的客戶機。然而,在呼叫特定的服務之前,伺服器應用程式必須將每個傳入請求多路分用並分派到各自相應的服務提供者。反應器模式正好適用於這一功能。它允許事件驅動應用程式將服務請求多路分用並進行分派,然後,這些服務請求被併發地從一個或多個客戶機傳送到應用程式。

反應器模式(Reactor pattern)與觀察者模式(Observer pattern)在這個方面極為相似:

當一個主體發生改變時,所有依屬體都得到通知。

不過

觀察者模式與單個事件源關聯,而反應器模式則與多個事件源關聯。