請原諒我,如果這是一個愚蠢的問題,我承認我沒有想太多。什麼時候使用回調而不是c#中的事件?
但是,當你喜歡使用回調(即傳入Func或Action)而不是暴露和使用事件?
UPDATE
是什麼促使這個問題是以下問題:
我有一個ThingsHandler類, 可以與ThingEditor關聯。 的ThingsHandler處理的 事情的清單,知道他們的訂單,其中之一是「當前」,當新 那些增加或刪除等
的ThingEditors可以只修改單個 事情。
的ThingsHandler需要提醒 的ThingEditor當用戶選擇 一個新的東西進行編輯,並ThingEditor需要提醒 ThingsHandler當用戶說 「完成」的 。
令我困擾的是這兩個類持有對方的引用 - 雖然我認爲這是不可避免的 - 或者在兩個方向上綁定事件。我想知道在一個方向上使用回調是否「更清潔」。
我懷疑這是一種設計模式,併爲我的無知(懶惰)謙恭地道歉。
該死,你讓我的大腦再次受到傷害:)在我目前的代碼中,這些類遠離現實世界中的任何東西,我不知道我會從哪裏開始...(查看更新後的問題) – Benjol 2010-01-08 06:42:43
好的答案,並總結:事件是通知(生下),回調是請求(吃食物)。將此與現實世界相關聯,你會得到一個用長頸鹿作爲對象的用例圖,用戶作爲動物處理程序(或者爆米花把它穿過酒吧的小孩) – Codesleuth 2010-01-08 09:23:55
不僅難以消化,而且很難翻譯..最終它是值得的!謝謝埃裏克。 – 2013-12-09 22:40:45