2011-04-21 34 views
3

我对使用哪一个有疑问, 1. Interception with Unity [用于在运行时为对象添加新行为] 2.或使用策略注入应用程序块,我们可以将处理程序连接到对象上的特定方法。使用哪一个:统一拦截或策略注入

我现在正在使用团结,并且想要决定哪一个最好或最有效。我想跟踪哪些资源正在被消耗[针对特定对象]。为此,我应该使用哪一个1或2.

我是否可以使用处理程序来动态识别调用者并使用它来说明使用情况或使用策略并分别维护它们。

回答

2

策略注入建立在Unity拦截之上(假设您使用的是当前版本的Unity/Entlib)。策略注入实际上是作为拦截行为来实现的。

拦截行为可能稍微更高效,因为拦截行为不需要执行大量复杂的匹配规则来根据方法调用找出哪个拦截器要调用,但是如果您想要针对特定的方法。政策注入在安装时会做更多的工作,但在通话时间这是一次洗涤。

效率不会成为您的决定性因素,您的整体设计和易用性将成为您的决定性因素。选择一个你更喜欢的人。