我一直在调查城堡项目,尤其是温莎.我对这项技术的可行性印象深刻,拥有这样一个松散耦合系统的好处是显而易见的.我唯一不确定的是,使用这种方法是否有任何缺点,特别是在asp中.网比如表演命中率等等.
我正试图让我的开发伙伴们看到这种方法的好处,我受到了以下回击:
这就是使用反射,每次从容器调用对象时,都必须使用反射,这样性能会很糟糕.(是这样吗?每次通话都会使用反射功能吗?)
如果我依赖于接口;如何处理具有附加到类上的额外方法和属性的对象?(通过继承)
我一直在调查城堡项目,尤其是温莎.我对这项技术的可行性印象深刻,拥有这样一个松散耦合系统的好处是显而易见的.我唯一不确定的是,使用这种方法是否有任何缺点,特别是在asp中.网比如表演命中率等等.
我正试图让我的开发伙伴们看到这种方法的好处,我受到了以下回击:
这就是使用反射,每次从容器调用对象时,都必须使用反射,这样性能会很糟糕.(是这样吗?每次通话都会使用反射功能吗?)
如果我依赖于接口;如何处理具有附加到类上的额外方法和属性的对象?(通过继承)
要回答您的问题:
- 这就是使用反射和
- 如果我依赖于接口;怎样
您也可以有类组件,但它们有一些限制,您必须了解这些限制(例如,您不能拦截对非虚拟方法的调用).我发现温莎是最成熟的,最适合我的开发风格.
除了性能之外,我还没有听说过一个项目因为不可接受的性能而不得不放弃依赖容器.Windsor在这方面真的很聪明,它会缓存长时间操作的结果,这样你就不需要付出两次代价了. 您可以在互联网上找到比较许多IOC容器速度的图表.关于这些,有两点需要注意:所有的容器都非常快. 不要认为在这些图表上其他容器比Windsor更快,这就意味着它们更好.Windsor为您做了许多其他容器做不到的事情.