松耦合是精彩当然,但我经常在想什么开销布线了动态的使用一种IoC容器(例如城堡温莎)具有在紧耦合系统?
我知道一个详细的答复将取决于正在使用什么样的国际奥委会,但我真的只是想获得参与国际奥委会工作努力幅度的感觉。
有没有人有这方面的任何统计数据或其他资源?
谢谢
松耦合是精彩当然,但我经常在想什么开销布线了动态的使用一种IoC容器(例如城堡温莎)具有在紧耦合系统?
我知道一个详细的答复将取决于正在使用什么样的国际奥委会,但我真的只是想获得参与国际奥委会工作努力幅度的感觉。
有没有人有这方面的任何统计数据或其他资源?
谢谢
有一个关于性能链接
http://realfiction.net/?q=node/143
有一个结果
但正如你所看到的温莎心不是最快的IoC (Autofac快得多)
正确的答案是,性能并不重要:)。
由于使用的IoC正确的,当所有注册过程是在初始化阶段。
换句话说,使用的IoC必须减少你的“如果其他”实时计数。
你必须慢初始化时间,当容器开始一切都被加载。 如果初始时间不要紧,你,每个人的上盘-A-运气轮赢家。
了解IoC容器是多么复杂,最好的办法来自分析它。
在一个特定的经历,有一次我花了一整个下午调试使用一些简单的“Hello World”代码丛 ,这Maven是基于后( 这里是一个有用的链接,浏览它的源代码 )。 它有点想出了(通过看defaultPlexusContainer)为:
这使得一个重要方面,深入到上述步骤:找一个组成部分。 在丛,相位概念包装的对象建设的步骤,并且这些阶段通常被绑定到一个个性的概念。 然而,对于默认设置 ,这是通过执行以下几个阶段进行:
大多数的这些步骤都是可选的,通常包括确定给定的接口,把它的目标对象上 - 这是对丛个性的默认,请注意。
此外,每个对象可以绑定到一个生命周期管理器,它主要是使一个新的对象和单身的区别。
在我的特定记录:最困难的部分实际上是在解析配置,并引导容器。 在这之后,你可能会注意到在性能上没有进一步的差异。