创建依赖项注入(inject)绑定(bind)的两种常见机制(例如通过 IOC 容器)来自 XML 配置或命令式代码块。在这些情况下,键值对是显式的(即键 = 请求的类型,值 = 返回的类型)。
仍然存在第三种“启发式”方法,其中仅向应用程序/IOC 容器提供 [IMyClass] 键,然后容器反射(reflect)一组应用程序程序集依赖项以找到所有名称匹配的具体类 [MyClass]。换句话说,“返回类型”值是发现的而不是声明的。
我想知道的有两个方面:
- 哪些 IOC 容器(或其他后期绑定(bind)工具)允许启发式方法?这种方法有更通用的名称吗?
- 除了我列出的三种绑定(bind)技术外,还有其他用于实践的绑定(bind)技术吗?
最佳答案
这称为基于约定的配置或自动注册,并受以下 .NET DI 容器支持:
用于 DI 容器的最常见的配置机制是
- XML
- 代码作为配置
- 基于约定的配置
第四种但不常见的方法是使用属性。 Managed Extensibility Framework是这种方法最突出的例子,它在 Java 中更为常见。
关于c# - (自动)依赖注入(inject)绑定(bind)机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7899975/