易百教程

26、依赖注入和服务定位器模式有什么区别?

服务定位器用于创建类依赖项。无论是否使用服务定位器,该类仍然负责创建其依赖项。
服务定位器也用于隐藏依赖关系。当对象从定位器获取连接时,我们不能通过查看对象来判断它是否与数据库连接。
使用依赖注入,包含其依赖的类既不知道也不关心它们来自哪里。
一个显着的区别是依赖注入更容易进行单元测试,因为可以传入它的依赖对象的模拟实现。可以结合这两个对象并应用服务定位器。