2012-03-28 30 views

回答

14

他們都非常相似,但有一點區別:

  • 信號/槽實現觀察者模式,其中生產者有一個引用其縮寫別爾斯並負責通知他們

  • 發佈/訂閱模式插入一個額外的調解員,即話題處理器,其解耦生產者和消費者(生產者不知道誰將會使用消息)

一個主要後果是,在p/s範式中,您可以在同一主題上擁有多個生產者。

這是(可能)約P/S被引用最多的文章: The many faces of publish/subscribe

+1

+1這是一個重要的技術差異。實際上,這意味着在一個P/S體系結構中,您可以替換一個或多個生產者,而不會影響消費者(因爲他們不直接引用生產者)。這對於測試消費者邏輯非常有用(用一個「刺激」消費者的組件代替生產者)。同樣,您可以添加或替換消費者,生產者不關心。非常適合測試生產者邏輯。 – Schollii 2014-01-16 20:34:14