依赖注入 – 比较Castle Windsor,Unity和StructureMap

Krzysztof’s statement之后的一段时间里, Windsor比其他IoC做得更多,我想了解这些IoC如何相互叠加以及Windsor提供的优势/附加功能

有没有比较?有人可以帮助我了解温莎城堡提供的其他IoC的附加功能

看到 herehere对几个IoC容器的一个非常透彻的技术比较,虽然有些过时的(他们来自Windsor 2.0之前)

然而,我不认为真正有任何重要的功能温莎提供和其他容器不。 WindsorStructureMapSpring.NET已经存在了几年,并且已经在这些年的许多项目中使用,所以他们现在非常成熟。较新的容器,如AutofacUnityNinjectSimpleInjector建立在以前的经验基础上,所以他们不会缺乏这些重要的功能

现在更主观的部分答案:我喜欢认为温莎有一个很好的可用性,可扩展性和集成模块的组合。

可用性:例如,您可以使用XML和/或代码注册(它现在也有像大多数容器一样的fluent API)。

可扩展性:Lots of extension points,你可以用来自定义或覆盖几乎任何认行为。

集成:Windsor有lots of facilities(模块),允许与其他框架/库轻松集成。其他集成包括ASP.NET MVC,MonoRail,Workflow Foundation,NServiceBus,MassTransit,Rhino Service Bus,Quartz.Net,SolrNet,SolrSharp,Windows Fax Services

This series of articles涵盖了温莎的许多优点和延伸点。

注意,我不是说其他​​容器不提供类似的东西!即使你选择了其中一个,后来你发现它缺乏一些集成,通常不难自己编码。

底线:我不认为你可以错过任何主要的IoC容器,只要你正确地构造你的代码(例如,避免服务定位器反模式)。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...