DI (Dependency Injection) ≠ IoC (Inversion of Control)。推薦閱讀 Martin Fowler《Inversion of Control Containers and the Dependency Injection pattern》或呂震宇《你真的了解 IoC 與 AOP 嗎?》系列。
參考前文《Unity(三):快速入門》與《Unity(五):單例模式》中的 IOrder、CommonOrder、VipOrder、ILogger、ConsoleLogger、NullLogger 及 IOrderWithLogging。

目標類別 SingleConstructor 僅有一個建構子,參數為 IOrder、ILogger,容器自動解析注入。

測試:註冊 CommonOrder 為單例並設 Discount=0.8 驗證共享實例。

目標類別 MultipleConstructor 有兩個建構子,帶參數者標註 [InjectionConstructor]。

測試:換用 VipOrder、NullLogger、MultipleConstructor。

若多建構子未標註 [InjectionConstructor],Unity 會自動選擇參數最多者;若參數最多者不唯一,執行期拋出例外。