我刚开始在android中使用dagger 2进行依赖注入。我现在使用它的方式我确定我没有
new Class();
但我有一种感觉,我过度使用依赖注入。我注入任何需要实例的东西。这是正确的吗?或者有一些我可以注射的东西,或者我可以注射一切
答案 0 :(得分:1)
过度使用依赖注入非常容易和常见,我不赞同“注入任何需要实例的东西”的做法。但是,您需要确定哪些方面属于哪个组。
我看到的一个区别是“注射”与“新手”,如this oft-cited article by Miško Hevery(也在the Google Testing Blog),this article by Giorgio Sironi和this Dagger 2 StackOverflow answer。< / p>
您可能需要权衡依赖注入的优势,包括:
......反对费用,包括:
价值和模型对象,不太可能有多个或有风险的实现,通常在 newable 阵营中;互联和相互依赖的服务通常远离注射阵营。对于轻量级服务和工具,您需要确定上面提供的好处,并根据您需要的好处绘制线。