gpt4 book ai didi

.net - MVVM Light 的 SimpleIoC 背后是什么

转载 作者:行者123 更新时间:2023-12-03 10:14:13 26 4
gpt4 key购买 nike

我只需要知道 MVVM Light 的 SimpleIoC 背后是什么?是现有的之一(Unity、CaSTLe Windsor、StructureMap、MEF,也许是 Simple Injector ...)?或者它是由 MVVM Light 的开发团队实现的简单的一个?

有没有办法让 SimpleIoC 与特定的 IoC 一起工作?或者我应该使用 Service Locator ?

谢谢

最佳答案

由于没有人回答这个问题,我做了一个研究。我迫不及待想知道 SimpleIoC 背后是什么,这个问题 Laurent谁可以回答。

但是第二个(有没有办法让 SimpleIoC 与特定的 IoC 一起工作?或者我应该使用服务定位器吗?)我现在可以回答了。

问题是 SimpleIoc.DefaultIServiceLocator 的实现接口(interface),并且 MVVMLight Toolkit 使用服务定位器模式工作。因此,如果我们希望使用任何 IoC 库,我们只需要实现 IServiceLocator接口(interface),然后我们就可以使用它了。

例如,使用 Unity IoC:

    public ViewModelLocator()
{
var container = new UnityContainer();

//ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
ServiceLocator.SetLocatorProvider(() => new UnityServiceLocator(container));
//If we wish use another IoC we must implement the IServiceLocator interface


////if (ViewModelBase.IsInDesignModeStatic)
////{
//// // Create design time view services and models
//// SimpleIoc.Default.Register<IDataService, DesignDataService>();
////}
////else
////{
//// // Create run time view services and models
//// SimpleIoc.Default.Register<IDataService, DataService>();
////}

container.RegisterType<MainViewModel>();
//SimpleIoc.Default.Register<MainViewModel>();
}

这段代码是 ViewModelLocator 的构造函数。 UnityServiceLocator 类实现了 IServiceLocator 接口(interface)...

关于.net - MVVM Light 的 SimpleIoC 背后是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14408140/

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