松耦合当然很棒,但我经常想知道使用IoC容器(例如Castle Windsor)动态连接的开销与紧密耦合系统相比如何?
我知道详细的答案取决于IoC的用途,但我只是想了解IoC工作所需的努力程度。
有人有关于这方面的统计数据或其他资源吗?
谢谢
松耦合当然很棒,但我经常想知道使用IoC容器(例如Castle Windsor)动态连接的开销与紧密耦合系统相比如何?
我知道详细的答案取决于IoC的用途,但我只是想了解IoC工作所需的努力程度。
有人有关于这方面的统计数据或其他资源吗?
谢谢
以下是关于性能的链接:
http://realfiction.net/?q=node/143但是,如您所见,Windsor不是最快的IoC(Autofac更快)。
正确的答案是,性能并不重要 :).
因为在所有注册过程都处于初始化阶段时正确使用IoC。
换句话说,使用IoC必须减少实时中的“if else”次数。
当容器启动时,你的初始化时间会变慢,因为所有东西都会被加载。如果初始化时间对你来说不重要,那么每个人在这个 chuck-a-luck 轮上都是赢家。
了解IoC容器复杂程度的最佳方法是通过分析它。
在一次特殊的经历中,我花了一个下午使用 plexus(Maven基于此,这里有一个有用的链接可以浏览其源代码)来调试一些简单的“Hello World”代码。 通过查看defaultPlexusContainer,它似乎是: