在
Krzysztof’s statement之后的一段时间里,
Windsor比其他IoC做得更多,我想了解这些IoC如何相互叠加以及Windsor提供的优势/附加功能。
有没有比较?有人可以帮助我了解温莎城堡提供的其他IoC的附加功能
看到
here和
here对几个IoC容器的一个非常透彻的技术比较,虽然有些过时的(他们来自Windsor 2.0之前)
然而,我不认为真正有任何重要的功能温莎提供和其他容器不。 Windsor,StructureMap,Spring.NET已经存在了几年,并且已经在这些年的许多项目中使用,所以他们现在非常成熟。较新的容器,如Autofac,Unity,Ninject和SimpleInjector建立在以前的经验基础上,所以他们不会缺乏这些重要的功能。
现在更主观的部分答案:我喜欢认为温莎有一个很好的可用性,可扩展性和集成模块的组合。
可用性:例如,您可以使用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容器,只要你正确地构造你的代码(例如,避免服务定位器反模式)。