代码之家  ›  专栏  ›  技术社区  ›  Michael Stum

ServiceLocator的使用者应该调用ServiceLocator.Current吗?

  •  1
  • Michael Stum  · 技术社区  · 15 年前

    我正在尝试重构我的代码以使用 Common Service Locator . 我有一个共享库,它被其他一些组件使用。

    或者我的共享库是否应该有一个类,该类将所有可解析类型公开为公共属性,从而使ServiceLocator完全位于共享库的内部(这意味着在抽象之上有一个抽象(在抽象之上有一个抽象)?

    1 回复  |  直到 15 年前
        1
  •  3
  •   Mark Seemann    15 年前

    你呢 shouldn't be using a Service Locator at all 通过允许您(或任何DI容器)向它们注入适当的依赖关系。 构造器注入 通常是最好的选择。

    Krzysztof Kozmic最近发表了一篇关于 how a DI Container should be used . 他的例子使用Castle Windsor,但您可以推断到任何DI容器以及公共服务定位器。但是,如果你遵循这些原则,

    推荐文章