我最近一直在研究事件聽衆,我想我終於把他們弄倒了。基本上,它們是在另一個對象的方法上調用的函數。我的問題是,爲什麼在調用函數時創建事件監聽器會工作得很好?爲什麼在函數調用中使用事件偵聽器?
例如,我想調用player.display_health(),並且當它被觸發時,方法player.get_health()應該被觸發並存儲,以便display_health()可以訪問它。爲什麼我應該只使用一個事件監聽器來調用該函數?即使display_health()在另一個對象中,這對我來說仍然不是問題。
如果你有另一個更適合用法的例子,請讓我知道。也許特定的語言不會從中受益? (Javascript,PHP,ASP?)
我控制的域庫背後的想法給了我一個很好的理解,因爲我使用的大多數東西都可以完全控制。所以,因爲我確實有控制權,所以我需要提出相反的問題,是否有理由不通過函數調用使用事件偵聽器? – Organiccat 2010-12-21 21:00:01
@Organiccat:和以前一樣,我確定還有其他原因。但是,我最大的原因是依賴倒置原則。對事件做出響應的代碼可能具有(或者甚至是)依賴項,這些依賴項在邏輯上不屬於引發事件的代碼。 – David 2010-12-21 21:01:42