【问题标题】:Castle Windsor or Spring.NET - advantages and disadvantages [closed]Castle Windsor 或 Spring.NET - 优点和缺点 [关闭]
【发布时间】:2011-01-03 05:32:08
【问题描述】:

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

【问题讨论】:

    标签: inversion-of-control castle-windsor spring.net


    【解决方案1】:

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

    • 温莎城堡自 2004 年底就已存在
    • Spring.NET 自 2006 年初就已经存在

    它们是两个可比较的 DI 容器,本质上旨在提供相同的服务,因此您无需先学习一个,也无需查阅任何类型的规范什么时候用哪个。

    我已经使用 Castle Windsor 大约半年了,总体上对它感到满意。 Spring.NET我还没看,不过貌似是very closely tied to the configuration system,不支持程序化注册,如果是真的,那在我眼里会是个大缺点。

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

    【讨论】:

      【解决方案2】:

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

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

      此外,它拥有一个非常活跃且反应迅速的社区,因此如果您有任何问题,大多数情况下都会很快得到答复。

      【讨论】:

      • 如果您参与了城堡项目,您必须意识到您拥有一个活跃且反应迅速的社区的首要原因可能是因为您的文档太糟糕了。比较两个框架之间的文档是没有争议的...... Spring.net 有一个 500 页手册的链接,该手册是为该软件的当前发行版本编写的。弄清楚 Castle 的工作原理是一件痛苦的事(尤其是到目前为止的温莎)。
      • @wllmsaccnt 我是温莎的新手,我同意。温莎文档太可怕了。
      • @wllmsaccnt @theneoindian 这里要澄清两点。第一,自 2010 年以来,Windsor 的 doco 已从头开始重新编写。另一个,如果本应简化您的生活的工具需要 500p 手册,那么您可能做错了。
      【解决方案3】:

      我想两者在配置方面都更好。没有太大区别,但都比 Unity 框架好。为什么在依赖控制中需要 marshalbyrefobject 关联。但是如果我们比较 spring.net 和 Castle Windsor 两者都很好。但是问题来了,哪一个是完整的容器框架。 就像我们需要 Aspects 来验证依赖关系。所以winsor实用程序失败了。我想将 String.net 与 Castle Windsor 或类似的东西进行比较是愚蠢的,因为它们都是实用程序,而 spring 是完整的容器框架。所有说它很重的人请检查所有内存泄漏问题。这不是 spring 或 Castle Windsor ,这是编写代码的愚蠢方式。 所以最后的答案是,如果您只需要 DI,请使用 Windsor,但如果您需要任何解决方案的完整框架,请使用 spring.net。

      【讨论】:

        猜你喜欢
        • 2010-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-10
        • 2012-03-20
        • 1970-01-01
        相关资源
        最近更新 更多