2011-04-21 38 views
3

我對使用哪一個有疑問, 1. Interception with Unity [用於在運行時爲對象添加新行爲] 2.或使用策略注入應用程序塊,我們可以將處理程序連接到對象上的特定方法。使用哪一個:統一攔截或策略注入

我現在正在使用團結,並且想要決定哪一個最好或最有效。我想跟蹤哪些資源正在被消耗[針對特定對象]。爲此,我應該使用哪一個1或2.

我是否可以使用處理程序來動態識別調用者並使用它來說明使用情況或使用策略並分別維護它們。

回答

2

策略注入建立在Unity攔截之上(假設您使用的是當前版本的Unity/Entlib)。策略注入實際上是作爲攔截行爲來實現的。

攔截行爲可能稍微更高效,因爲攔截行爲不需要執行大量複雜的匹配規則來根據方法調用找出哪個攔截器要調用,但是如果您想要針對特定的方法。政策注入在安裝時會做更多的工作,但在通話時間這是一次洗滌。

效率不會成爲您的決定性因素,您的整體設計和易用性將成爲您的決定性因素。選擇一個你更喜歡的人。