因此,据我所知,从本质上讲,依赖注入(如果我做错了,请纠正我)就是通过抽象出依赖来将“依赖”类与依赖类分离。更好的是,我们使用批注+代码(或其他替代方式,如在Spring中使用config类)在编译时生成具体的依赖项(如Dagger),因此我们可以在不同的上下文中使用不同的实际实现。
但是Dagger 2引入了@Component和@Modules。然后是@ Scope,@ Qualifier。我觉得他们更像是架构方法。
我的问题是,为什么Dagger 2需要采用这种方式,会产生什么样的影响(例如:软件开发方法论(敏捷,瀑布),方法(TDD,DDD ...),等等) 。)Dagger 2正在解决依赖注入问题?如果可能的话,请提供一些简单的示例来说明答案(就像在Android中那样棒)。