依赖注入框架的目标是在程序初始化时连接整个程序吗?

问题描述 投票:0回答:1

像Dagger2,Guice或Spring这样的DI框架允许连接整个对象图。但是,在某些点上,需要实例化这些对象图(例如,在Dagger2中,这是通过使用在代码中用于初始化对象(子)图的组件)。 你应该如何使用这些框架?

  • 在程序中初始化整个程序(对象图) 初始化阶段?明显的优势是你可以使用 像依赖继承之类的东西(例如,子组件中的子组件) Dagger2)
  • 在代码中的不同位置初始化不同的子图并手动将它们连接在一起?如果您依赖于仅在运行时具有的依赖关系并因此需要添加到对象图初始化程序,这可能是唯一的选择吗?
spring dependency-injection guice dagger-2
1个回答
1
投票

两者都是有效的方法,但正如this article所述:

对于基于请求的应用程序(例如网站和服务),只需配置一次容器,但为每个传入请求解析对象图。

© www.soinside.com 2019 - 2024. All rights reserved.