番石榴是重量级的图书馆,我想改变一下

Google Guava是一个有用的库,提供许多不同但不相关的功能:

  • 对于我的Vaadin项目,我喜欢使用事件总线来促进组件之间的松散耦合
  • Guava提供面向功能的集合处理
  • 有一个轻量级的Cache实现
  • 等等

但是,本文不是关于这些功能,而是关于为所有人提供单个重量级的Uber JAR。 从Google的角度来看,为所有项目提供一个Uber库是有意义的:“嘿,只要添加此依赖项,它就可以满足您的所有要求”。 但是,从我的角度来看,这只会使我的应用程序更重。

凝聚力是良好软件开发的根本。 许多框架提供程序,例如Spring和JBoss,都发布了很好的内聚包,并通过“依赖关系管理”工具管理它们之间的依赖关系。 奇怪的是,大多数番石榴的功能都没有耦合在一起,因此具有单个库不是强制性的。 甚至更陌生的是,Guava先前已在不同的JAR中发布,但Google停止使用r03版本。

除了创建单独的JAR和自己处理依赖关系,然后将它们存储在Maven Enterprise存储库中,我没有找到其他解决方案。 由于每个发行版都需要执行这些任务,因此我从来没有发现ROI足够有趣。 最简单的方法是让Google在构建时执行此操作。

尊敬的Google工程师,如果您偶然偶然发现了这篇文章,请多谢我考虑。

翻译自: https://blog.frankel.ch/guava-is-an-heavyweight-library-and-i-would-like-this-to-change/

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92146 人正在系统学习中 相关资源:番茄助手2017破解版_vs2017番茄助手-C++工具类资源-CSDN文库

来源:dlz00001

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月6日
下一篇 2020年5月6日

相关推荐