1

我知道这听起来很蹩脚,但 MSDN 上似乎有一堆空洞的信息。喜欢这个链接ServiceLocator。我刚刚使用 Unity 和 Prism 进行了一个项目。我在一些像这样传入 WPF UserControl 的代码中找到了它

var alert = ServiceLocator.Current.GetInstance<AlertControl>();

这像 Unity 的决心吗?

4

1 回答 1

2

http://commonservicelocator.codeplex.com/

从项目描述:

Common Service Locator 库包含一个用于服务定位的共享接口,应用程序和框架开发人员可以引用该接口。该库提供了对 IoC 容器和服务定位器的抽象。使用该库允许应用程序在不依赖硬引用的情况下间接访问这些功能。希望使用这个库,第三方应用程序和框架可以开始利用 IoC/服务位置,而无需将自己束缚于特定的实现。

这种抽象是由几个 IoC 框架实现的,Unity 就是其中之一。然而,Unity 不是该项目的所有者。

例如,通过这种方式,StructureMap 提供了这些类的实现,因此其他框架(例如来自模式和实践的 Prism)可以轻松地与其他 IoC 框架一起使用,而不必绑定到 Unity 本身。

于 2012-11-03T17:17:38.453 回答