这两种模式似乎都是控制反转原理的实现。也就是说,一个对象不应该知道如何构造它的依赖项。依赖注入(DI)似乎使用构造函数或setter来“注入”它的依赖项。使用构造函数注入的例子:Service Loc