【问题标题】:How is Spring.Net making my life easier?Spring.Net 如何让我的生活更轻松?
【发布时间】:2010-09-17 06:38:37
【问题描述】:

“Spring.NET 是一个开源应用程序框架,它使构建企业 .NET 应用程序变得更加容易。” Springframework

他们说 Spring 使 .Net 开发更容易。然后我看到手册很长。 Chapter 5. The IoC container

然后,当我运行一个具有 Spring 的项目时,我看到了一些神秘的堆栈跟踪错误。当一切都如此艰难时,春天如何让我的生活变得更轻松?

编辑:错误是在我运行项目时出现的,而不是像我第一次编写的那样编译时出现的。我了解企业应用程序需要比普通应用程序更复杂的框架。但即使在这种情况下,它们也不应该很复杂。我的意思是,如果我想写一些逻辑,我不应该经历很多其他的东西。

编辑:我别无选择,只能使用 Spring,如果我开始使用拥有它的现有项目。

【问题讨论】:

    标签: spring.net


    【解决方案1】:
    • 它提供了一个 IoC 容器。是的,充分利用它需要大量阅读。几乎所有强大的工具都是如此。如果您要使用 LINQ,那也需要进行一些研究 - 在您看来,这是否会使 LINQ 无用?
    • 它为各种事物提供有用的实用程序类。通常,这些都是您在其他情况下可能会自己动手做的事情。

    现在,至于为什么在编译一个使用 Spring.NET 的项目时会遇到神秘的堆栈跟踪错误……这听起来很奇怪。我们需要听到更多关于错误的信息才能知道发生了什么。

    【讨论】:

    • “它提供了一个 IoC 容器”,但与其他一些 IoC 容器相比,它可能是一个真正的痛苦。配置几乎总是在 app.config 中而不是在代码中,因此很容易出错并且很难在运行中进行更改。
    • @Anthony 不,可以在 Spring.Net (springframework.net/codeconfig/index.html) 中使用代码配置。对我来说,我更喜欢 xml config,因为它可以在集成测试期间轻松更改,而无需编译。
    • 我在 2009 年底写了这篇文章。我敢肯定,与此同时,Spring 已经在某种程度上赶上了其他人。
    • @Anthony 当应用程序已经部署时,是什么让更改代码配置比应用程序配置更容易?您需要一个编译器来进行任何更改,我认为这真的很痛苦。所以“容易”和“痛苦”视情况而定。在调试应用程序时,更改代码配置通常“更容易”,但特别是在执行可能出现多个小问题的硬件集成步骤时,快速更改 xml 文件的可能性是一个巨大的好处。对于具有多个项目合作伙伴和频繁更改组件的大型企业应用程序来说尤其如此。
    • 由于代码可以通过多种方式读取配置和配置源,因此 code-config 是 app-config 的超集。 “您需要一个编译器来进行任何更改”只有在您以这种方式编码时才是正确的。如果您需要通过配置获得灵活性,请不要这样编码。在某些情况下,app-config(即使用标准代码读取配置)是最好的,尽管我没有遇到很多。我是说只有这个选项不好。
    【解决方案2】:

    如果你不明白,你可能不应该使用spring.....

    但是 Spring.NET 是一个很好的框架。它不仅仅是国际奥委会,更多...... 如果您不了解依赖注入/IOC 或 Aspect Oriented Concepts,那么 Spring 可能不会为您做太多事情,您不妨坚持使用服务定位器类型的东西,并在整个代码中使用显式的 try/catch 块......

    【讨论】:

    • Castle.Windsor 也有 AOP,我认为 Microsoft Unity 也有。与它们相比,为什么 Spring 是“一个好的框架”?
    • Spring .NET 是我体验过的最糟糕的 .NET 平台框架。
    • @Buthrakaur 我不同意。可能以错误的方式使用,或者有时对于小型应用程序来说过大。
    【解决方案3】:

    请注意,它说它使企业 .net 应用程序更容易。企业应用程序与普通应用程序并不完全相同。它们是非常大规模的应用程序,需要围绕大规模的可扩展性、可移植性和极其灵活的配置进行设计。简化此过程的框架仍然难以使用,但比从头开始所有这些工作更容易且更可靠。

    不过,我对在“正常”项目中使用企业框架持怀疑态度,因为它很可能针对非企业需求过度设计,并且在这种情况下最终可能比从头开始编码更困难。

    【讨论】:

      【解决方案4】:

      我同意你的观点,它有一些学习曲线,但仅此一点不应该阻止任何人学习这个非常棒的工具。

      【讨论】:

      • 我会问其他人的问题:与 Castle.Windsor 或 MS Unity 相比,是什么让 Spring.Net “非常棒”?它有什么比他们更好的?
      • --更好的IOC容器--在web应用程序中,页面的轻松重定向--平滑的DI(页面后代码的依赖注入,业务逻辑层)--与NHibernate轻松集成--支持XML 配置和注释
      • 对于这个例子,你觉得 Spring.Net 的 IoC 有哪些“更好”和“流畅”的地方? stackoverflow.com/questions/1955862/…
      猜你喜欢
      • 2011-07-06
      • 1970-01-01
      • 2015-12-05
      • 2014-08-26
      • 2013-03-17
      • 1970-01-01
      • 1970-01-01
      • 2012-11-25
      • 2019-08-27
      相关资源
      最近更新 更多