Spring.net与应用程序架构

sar*_*ake 2 spring.net

使用SPRING.net有什么实际的优点/缺点(我们特别考虑使用它的方面使得解耦更容易),而不是简单地重新组织代码,使得解耦变得容易.

我们并不反对引入第三方工具,但这样做必须有明显的好处.

Mar*_*ijn 6

IMO 对Spring.NET网站的概述总结得很好:

Spring.NET为开发企业.NET应用程序提供全面的基础架构支持.它允许您在使用基类库时删除偶然的复杂性,从而实现最佳实践,例如测试驱动开发,简单实践.

我发现的实际优势是:

  • 它引导我构建可理解,可测试和可维护的软件,从我的演示文稿和域对象中移出几乎所有的基础结构代码; 我发现我可以轻松可靠地更改代码
  • 它不突兀; 为您提供所需的一切自由

更多关于我在这个答案中找到的优点和缺点.

正如duffymo在他的回答中所述,我永远无法"推出自己的"应用程序框架,甚至接近Spring.NET.如果不使用Spring.NET或Castle等应用程序框架,我永远不会在.NET中构建企业应用程序.

在你的(Brownfield?)应用程序中加入Spring.NET 肯定是可行的.我建议你一步一步地做,不要试图使用框架一次提供的所有东西.因此,请指出您的问题(例如不期望的耦合)并利用有助于解决的框架部分(例如IoC).


duf*_*ymo 5

重组代码并不能提供Spring.NET为您提供的所有好处:

  1. 控制反转(IoP)
  2. 面向方面编程(AOP)
  3. 坚固的企业库使持久性,事务,Web UI,服务等更容易.

如果所有这一切都重新安排了几个课程,那么Spring就没有理由.

我认为最大的原因是它们适用于设计,实施和测试.他们编写的代码远比我自己编写的代码要好得多.我发现我的项目从使用Spring中受益匪浅.我的理解和思考也受到了影响.