2011-09-01 64 views
2

我想調和德米特法律事件涉及的編程環境 - 我標記此JavaScript和obj-c(可可的NSNotificationCenter),因爲兩者都允許事件。Demeter的法律/涉及事件時的單一責任

在這樣的環境中,您可以通過讓它們拋出並綁定/訂閱事件來任意分離任何兩個對象。在obj-c中,只需執行此操作可能會更容易,而不是傳遞對需要調用方法的對象的引用。我認爲這可能總是使用不好:從性能的角度來看,你錯過了方法調度的優化(可能忽略不計,除非它是一個巨大的應用程序)。爲了便於閱讀,程序員可能希望明確指出一個對象是另一個對象的依賴關係,當一個對象只是拋出事件時,這是不明顯的。

我希望對事件在軟件架構中的作用有一些想法:您如何平衡事件綁定和直接方法調用?

回答