Dependency injection DI容器应该是全局的吗

Dependency injection DI容器应该是全局的吗,dependency-injection,autofac,Dependency Injection,Autofac,据我所知,依赖注入容器将在应用程序启动期间注册所有类。当我从一个类库转到另一个类库时,如何访问容器。容器应该是静态/全局的,还是应该将容器传递给构造函数中被调用的类 据我所知,依赖注入容器将在应用程序启动期间注册所有类 正确的 当我从一个类库转到另一个类库时,如何访问容器 你没有。只有应用程序的启动路径才能访问容器。类库不应该依赖于DI容器,也不应该有允许它解析任何组件的抽象。用DI术语来说:为了防止将DI容器用作一个容器,您应该避免在外部使用它 这可以通过让DI容器构建应用程序中所有组件的深入

据我所知,依赖注入容器将在应用程序启动期间注册所有类。当我从一个类库转到另一个类库时,如何访问容器。容器应该是静态/全局的,还是应该将容器传递给构造函数中被调用的类

据我所知,依赖注入容器将在应用程序启动期间注册所有类

正确的

当我从一个类库转到另一个类库时,如何访问容器

你没有。只有应用程序的启动路径才能访问容器。类库不应该依赖于DI容器,也不应该有允许它解析任何组件的抽象。用DI术语来说:为了防止将DI容器用作一个容器,您应该避免在外部使用它


这可以通过让DI容器构建应用程序中所有组件的深入完整的对象图来实现。

您根本不应该根据容器编写代码。只有启动代码才应该使用容器,在所有其他有依赖项的地方,只有依赖项。