Unity(六):使用场景Ⅲ:用于依赖注入(上)2010-07-28 cnblogs 赤脚小子有关依赖注入什么是依赖注入,我想这个问题我在这里说就不大合适了,所以还是推荐一下大师的文章。之前的文章也提到过,“Martin Fowler的Inversion of Control Containers and the Dependency Injection pattern 是不得不推荐的,当然,如果读起来比较费劲的话,吕震宇的你真的了解Ioc与AOP吗?系列也是不错的参考”。这里要多说一句的是,依赖注入(Dependency Injection)和控制反转(Inversion of Control)并不是同一个概念,有的人经常混在一起。有关这一点,看看前面说的Martin的文章就明白了。准备工作为了接下来的说明,我们先编写几个后面需要的接口和类。注:本文涉及到的IOrder接口、CommonOrder类、VipOrder类和ILogger接口、ConsoleLogger类、NullLogger类等代码请参见Unity(三):快速入门和Unity(五):使用场景Ⅱ:用于单例模式中的准备代码,这里不再重复。IOrderWithLogging接口:

Unity支持的依赖注入方式有三种:构造器注入、设值注入、方法调用注入。构造器注入对于构造器注入,Unity支持两种方式的依赖注入:自动依赖注入和通过打标签标识。具体来说,对于只有单一构造函数的目标类,可以使用自动依赖注入的方式,而对于有多个构造函数的目标类,则应该使用在构造函数上打标签的方式来进行注入。