我正在使用 Galasoft MVVM Toolkit 和 ServiceLocator 在我的应用程序中管理我的服务。我想管理两种不同的服务实现。应该在调试/设计模式下注入存根实现,在其他情况下应该注入真正的实现。伪代码可以是:
public TmepServiceLocator(){
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
//If DEBUG/DESIGN MODE
//SimpleIoc.Default.Register<IMyService>(() => new MyServiceStub());
//ELSE
SimpleIoc.Default.Register<IMyService>(() => new MyServiceImpl());
}
public IMyService MyService{
get{return ServiceLocator.Current.GetInstance<IMyService>();}
}
我怎样才能做到这一点 ?
在开发时(并且不使用 Spring),您是否有使用服务存根的解决方法?