Castle Windsor或Spring.NET - 优点和缺点

MD *_*med 12 castle-windsor spring.net inversion-of-control

昨天我正在阅读本网站上的一些文章,而我偶然发现了一篇关于这两个新IoC工具的文章.我应该先学习哪一个?是否有一些关于何时应该使用哪种规格?

Mar*_*ann 15

Castle.Windsor或Spring.NET都不是新的.

  • 温莎城堡自2004年底开始出现
  • Spring.NET自2006年初开始出现

它们是两个可比较的DI容器,主要旨在提供相同的服务,因此您不需要先学习一个,也不需要查询何时使用哪个规范的任何规范.

我一直在使用Castle Windsor大约半年,我对此感到非常满意.Spring.NET我还没有看,但看起来它与配置系统密切相关,并且不支持程序化注册,如果这是真的,那将是我眼中的一个主要缺点.

Castle Windsor和Spring.NET不是唯一可用于.NET的DI容器.这是一个更大的列表:


Krz*_*mic 5

我是Castle项目(包括Windsor)的提交者之一,所以我可能会抱有偏见。

温莎具有很好的可扩展性,可以根据您的需要进行调整和弯曲。它提供了很好的流利的注册API,因此您不必编写大量的XML。您还可以使用大量扩展将Windsor与其他框架集成,例如ORM通信框架(WCF,NServiceBus)等。

此外,它还有一个非常活跃且反应迅速的社区,因此,如果您有任何疑问,大多数时候他们会很快得到解答。

  • 如果您参与了Castle项目,则必须意识到拥有活跃且响应迅速的社区的第一原因可能是因为您的文档如此恐怖。比较两个框架之间的文档是不争的事情。Spring.net包含指向该软件当前发行版的500页手册的链接。弄清楚城堡的运作方式是一件痛苦的事(到目前为止,尤其是温莎)。 (4认同)