(自动)依赖注入绑定机制

Bre*_*ias 10 .net c# dependency-injection ioc-container late-binding

创建依赖注入绑定的两种常见机制(例如通过IOC容器)来自XML配置或命令式代码块.在这些情况下,键值对是显式的(即键=请求类型,值=返回类型).

仍然有第三种"启发式"方法,其中应用程序/ IOC容器仅被赋予[IMyClass]键,然后容器反映一组应用程序组件依赖项以查找所有名称匹配的具体类[MyClass].换句话说,发现"返回类型"值而不是声明.

我想知道的是双重的:

  1. 哪些IOC容器(或其他后期绑定工具)允许启发式方法?这种方法有更常见的名称吗?
  2. 是否有其他绑定技术,除了我列出的三个,在实践中使用?

Mar*_*ann 4

这称为基于约定的配置自动注册,并受以下 .NET DI 容器支持:

用于 DI 容器的最常见配置机制是

  • XML
  • 代码作为配置
  • 基于约定的配置

第四种但不常见的方法是使用属性。托管可扩展性框架是这种方法最突出的示例,在 Java 中更为常见。

  • Unity 和 Ninject 还支持基于约定的配置(就像大多数其他著名的 IoC 容器一样)。 (2认同)