`

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

阅读更多

 

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


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

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

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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics