我们正试图让我们的代码解耦并遇到了这个Guice。这似乎是最好的选择。我没用过它。
我怀疑是否可以在现有的15k线生产代码中使用它?我的意思是我们需要多少努力来实现这一目标?这是正确的方法吗?或者需要用GUICE写出整个代码库。
有什么想法吗?
答案 0 :(得分:2)
是的,这是可能的。你不必重写。介绍该工具并慢慢用注射取代少量直接参考,看看它是如何工作和继续的。一段时间后,你将获得信心并用Guice注射替换大多数构造函数调用。
答案 1 :(得分:2)
所以你想引入依赖注入?是的Guice是一个很好的轻量级容器。我首先要确定你在使用DI方面获得最大收益的地方(例如,听起来你有一些脱钩问题)。您的代码行数无关紧要。
一次引入Guice / DI小位是个好主意(我使用TDD方法),构造函数/ setter注入是最容易开始的地方。
答案 2 :(得分:0)
如果您在代码中正确使用了依赖注入,那么将guice引入项目将很容易。如果你已经在整个代码中使用了单例,那么你必须重新制作它。 请注意,该代码不依赖于guice库中的任何内容。
一年前,当项目已经是一个大型复合体时,我引入了一个问题,包含对单例等的静态引用,无论如何,改变它并不是那么难。
答案 3 :(得分:0)
这取决于您的代码有多好。 如果设计得很好,例如有逻辑模块,所有实现都有清晰的接口,你使用工厂创建对象更容易。
无论如何,我建议你采用增量方法,即按模块重构你的应用程序。