什么是IServiceLocator接口?

时间:2010-04-12 10:33:53

标签: .net ioc-container iservicelocator

据我所知,IServiceLocator是一个抽象实际IoC容器的接口?我正在询问Prism与我正在尝试replace Unity with Prism的关系,我看到Prism-classes依赖于IServiceLocator。有人可以澄清界面的作用以及何时使用它?

还;什么是Common Service Locator,在使用IServiceLocator时这会有用吗?

1 个答案:

答案 0 :(得分:12)

IServiceLocator是服务定位器的抽象。 IoC容器是服务定位器的一种超集,因此它们可以由IServiceLocator表示。但是,服务定位器模式比纯依赖注入模式更具侵入性,因此您应尽可能尝试使用后者。

CommonServiceLocator提供IServiceLocator接口和此接口的抽象实现,以定义常见行为并帮助IoC容器定义其IServiceLocator适配器(每个主要IoC容器都提供此类适配器)。

另见: