*我有一个使用 IOC 容器(Autofac,但可以是任何容器)的应用程序。
我也有外部开发的模块。每个模块都需要指定自己的 DI 容器设置,定义存储库,特定于其模块的服务。
在部署时,这些模块会通过 XML 配置手动注册到 Autofac。
通常,如果每个模块都想从 IOC 容器请求一个类型的实例,我们可以使用 ServiceLocator 模式。这将每个模块与特定的 IOC 容器类型分离,例如 Autofac/Unity/StructureMap/等。
但我想在注册时将每个模块与 IOC 容器分离。例如在做 container.Register().As();
所有的 IOC 容器都有不同的方法来实现几乎相同的事情,所以我想知道是否有一个标准模式。
更新:我专门寻找一种方法来不知道类型的注册而不是类型实例的解析。