gpt4 book ai didi

.net - 什么是 IServiceLocator 接口(interface)?

转载 作者:行者123 更新时间:2023-12-04 10:45:22 28 4
gpt4 key购买 nike

据我了解,IServiceLocator 是一个将实际 IoC 容器抽象出来的接口(interface)?我正在询问与 Prism 的关系,我正在尝试 replace Unity with Prism ,我看到 Prism 类依赖于 IServiceLocator。有人可以澄清接口(interface)的作用以及何时使用它吗?

并且;什么是Common Service Locator ,这在使用 IServiceLocator 时会有所帮助吗?

最佳答案

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

CommonServiceLocator 提供 IServiceLocator 接口(interface)和该接口(interface)的抽象实现来定义常见行为并帮助 IoC 容器定义它们的 IServiceLocator 适配器(每个主要的 IoC 容器都提供这样的适配器)。

也可以看看:

  • http://martinfowler.com/articles/injection.html#ServiceLocatorVsDependencyInjection
  • http://java.sun.com/blueprints/corej2eepatterns/Patterns/ServiceLocator.html
  • 关于.net - 什么是 IServiceLocator 接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2621316/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com