在参加了最近在IoC上的一个Alt.NET小组后,我开始思考可用的工具以及它们可能如何工作。StructureMap特别使用属性和引导程序概念来将对IThing的请求映射到ConcreteThing。属性会自动抛出指示反射或IL注入正在进行的标志。有没有人确切地知道这是如何工作的(对于StructureMap或其他IoC工具),以及在运行时或编译时相关的开销可能是什么?
发布于 2008-09-12 00:28:20
我不能对其他IoC工具包说太多,但是我使用了Spring.Net,我发现在启动时有一个一次性的初始性能损失。配置容器后,应用程序将不受影响地运行。
发布于 2008-09-12 13:41:06
我在CastleProject中使用Windsor,并发现它在减少依赖方面非常有用。我还没有注意到性能问题,但我确实发现了一件事,那就是配置可能会变得有点麻烦。为了在这方面提供帮助,我开始考虑Binsor,它是用boo编写的Windsor的DSL。
另一件需要注意的事情是,在导航代码时,您将无法转到将在运行时执行的代码。
发布于 2008-09-12 00:41:12
他们的主要问题是代码变得难以理解。如果一个人过度使用IoC,它可能会变得非常神奇。另一个问题是性能。在大多数情况下,性能损失并不明显。但是,当您开始通过IoC容器创建大多数对象时,它可能会突然下降到海平面以下。
https://stackoverflow.com/questions/57990
复制相似问题