出版商暴露到其中多個用戶可以連接到斷開事件註冊和訂閱
訂戶側的事件 - 在用戶訂閱基於> publisher.OnSomeEvent + = subscriber.CallMe()
後來一些動態參數
publisher.Subscribe(參數)
publisher.Unsubscribe(參數)
根據由用戶傳遞什麼樣的參數,我想出版商來更新他們訂閱內容的用戶。
在內部我可以維護一個訂閱地圖的參數,但我的問題是,因爲事件註冊和訂閱被斷開,我無法找到一個好的方式來傳遞被調用句柄(所以我可以維護一個地圖subscriber-> arguments )呼叫訂閱/取消訂閱呼叫時。
爲了保持我的API簡單,我不希望被調用者傳遞「this」,同樣由於內聯問題,StackFrame和診斷API不能在發佈模式下工作,所以我想不出更好的設計。
感謝您的幫助,如果你能提出一個更好的方式來實現這一目標?
謝謝,但我的想法是讓API乾淨,我看不出太大的區別,如果我通過從你所提到的訂閱(本)。我在想解決這一問題的方法是通過給函子來訂閱的客戶 – 2010-11-09 02:59:15
在預訂的客戶端也許我可以做這樣的事情publisher.GetNewInstance - 出版商然後給出了一個仿函數並在內部對發佈商方面,我可以保持一個靜態緩存並連接到返回的實例。希望我有道理 – 2010-11-09 03:00:35