2008-09-19 31 views

回答

9

视情况而定。对于需要一个简单容器的小型项目,我会选择Ninject。我喜欢它小而精的事实。我不喜欢这个属性,但是有一些解决方法。

对于您可能需要的不仅仅是简单IoC的大型解决方案,我会与Castle的东西一起去。 Lot的灵活性在那里,您可以使用XML,属性或DSL来配置内容,如果您以后需要它,则可以将IoC扩展到AOP版图。

我还没试过结构图。看起来它比IoC做得更多。但我不能对此发表评论。我认为Ninject和Structuremap有不同的用途,所以很难在不了解上下文的情况下在两者之间进行选择。更好通常是一个相对的概念:-)

3

我使用StructureMap,所以我可能认为它是最好的。但也许将来我会去统一,因为这是MS支持的,这意味着更好的文档和更少依赖于一个人的善意,尽管这个人是非常善意的。当然,我不会因为它很好而改变框架。只要有用,我甚至不会升级。

3

没有最好的。他们中的大多数以几乎相同的方式完成您所需要的90%。在某些情况下,人们可能比另一个人更灵活。

鉴于选择我会选择温莎,如果没有别的,但我已经知道它很好。但如果我不得不使用Ninject或StructureMap,我不会抱怨。他们都是很好的框架。

我知道目前Ninject是唯一一个可以在Compact框架上运行的程序,所以如果这是一个需求。那么Ninject就是要走的路。

我有点害怕Spring.NET,主要是因为我讨厌XML。但也许它没有我想象的那么糟糕,不要阻止我:)

2

我正在通过这个过程自己。我会推荐与ninject开始。仅仅因为它轻巧而且入门级别非常低。你可以在几个小时内完成并运行。

你会发现,你会在设计你的系统时考虑到IoC,无论你使用的IoC框架如何,设计都大致相同。

没有太多的重新工作beyong基本框架管道你应该能够交换NInject的东西像StructureMap如果你想。

最好的办法就是和一个人一起去看看你发现了什么问题,然后决定一个替代方案是否能更好地满足你的需求。

那里的框架似乎正在经历一个充满活力的时期,新版本将在各处发布。而IoC和更多的MEF可能会迫使景观进一步改变。

2

autofac是小型项目的不错选择。如果你想和任何你能想象铁杆的IoC +集成,我建议Spring.NET

编辑现在我想想,Autofac岩石为任何规模的项目,而Spring.NET感觉太enterprisey。