深入Unity 1.x依赖注入容器之四:依赖注入2010-07-09 cnblogs doriandengUnity 是一个依赖注入容器,自然依赖注入是它最重要的功能。从以往的讨论来看,矛盾都集中于 Unity 侵入了依赖的对象,这可能是 Unity 在预览版的文档中没有说明,加上某个外国牛人的某篇文章造成的恶果。因为,Unity 同样可以通过配置文件支持非侵入式的依赖注入。本文将从使用 Attribute 和配置文件两个方面对 Unity 的依赖注入的支持进行阐述。Unity 支持构造函数、属性和方法调用注入。构造函数注入构造函数注入包含了二种情况,一种是类仅有一个构造函数时,Unity 可以进行自动注入;另一种情况是,类包含多个构造函数时,必须使用 Attribute 或者配置文件指定注入时使用的构造函数。假设现在有一个 Telephone 类,仅包含了一个带有 IDialer 类型的参数的构造函数。如下所示:

那么,我们可以这样来使用:

此时,我们不需要对 Telephone 进行任何配置。然后,再添加一个带有 string 类型参数的构造函数(注意,此构造函数没有实质用处),如下所示: