欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

正式声明停止使用Spring的架构师

程序员文章站 2022-07-03 16:21:50
...

 

这是来自 JOHANNES BRODWALL 的一篇博文,他曾经在Dzone上发表谦卑的架构师一文引发了争论,在这篇博文中他正式声明停止使用Spring。下面是原文大意翻译:


我对Spring和依赖注入框架的意见引起争论,我是挪威Spring最早的使用者之一,我们开发一个庞大系统,我们最终不得不考虑一些事情,如XML配置的重用机制,Spring的@Autowire和组件扫描功能帮我们解决这个问题,但是作为回报,降低了我们质疑整个源码的能力,将我们开发人员隔离在一个个小小的孤岛上,这些框架往往以复杂性为文化,工具 文档和其他不必要的层等待。

后来我尝试不使用依赖注入框架来构建应用程序,让我决定什么使用new,什么时候有一个setter或构造器参数,什么类型能被作为依赖,哪个类型创建会与底层耦合。我发现了一些DI容器能改进设计的好处,同时,我去除了容器,我的解决方案代码变得越小了,易于浏览和理解,容易测试,我陷入了两难底部。

我发现,使用容器的成本非常高,它提高了复杂性和规模,降低了凝聚,对于我来说,小的系统价值远远大于创建一个松耦合后又松耦合的系统。

凝聚性和松耦合是对立,模块A重用模板B,模块A和B耦合了,B的变化会影响A,因此,重用和松耦合是对立,这时我偏重松耦合。当有冲突时,我将连贯性凝聚性看高于松耦合,而松耦合高于重用。Spring文化好像与这个正好相反(凝聚性最差)。