【发布时间】:2013-02-01 13:05:11
【问题描述】:
尝试在容器中解析我存储的服务对象(主要是单例接口),
有一个Domain Module,它的ViewModels会使用Services Module的Services。
您建议在哪里以及如何解决这个问题,在域 Module 内还是在域模块的 ViewModels 内解析?
如果我可以在 ViewModel 的构造函数中执行此操作,以下代码是否足够,在服务注册后,如果我不想执行此操作:
public DetailsViewModel(IWService wSvc,)
{
wService = wSvc;
}
在“视图模型”中获取服务对象(存储在容器中)的最佳方法是什么?
我在这里提供的只是一个示例。 感谢您的帮助
【问题讨论】:
-
只要你的视图模型(DetailsViewModel)被统一容器解析,你上面的代码应该在视图模型中为你提供服务。您所拥有的是我所看到的 Prism 应用程序创建的标准方式。如果您的视图模型不是由容器创建的,您需要自己将服务传递给视图模型的构造函数。我刚刚使用 Prism 编写了一个应用程序,并且我在很大程度上放弃了 MVVM,转而采用更类似于 MVP 的方法,因为我发现没有演示者或控制器类的 VM(视图模型)的整个概念非常混乱。
-
@Jay 感谢您提供的信息,很抱歉当时我不在电脑旁,我仍在处理它并尝试理解和利用一些较暗的部分,我喜欢它我的代码缺少一些我正在尝试修复的部分。 :)
标签: c# mvvm prism unity-container