ViewModel属于哪个程序集?

时间:2012-05-14 12:16:20

标签: wpf mvvm

我只是在WPF应用程序中学习MVVM模式的绳索,我可以想象这听起来像一个令人难以置信的愚蠢问题,但无论如何都在这里:

我已经在一个程序集中有一个模型,这是一个简单的类库。在不同的程序集中,我在xaml中创建了一个简单的视图。现在这些书都是相同的:用视图模型将它们链接在一起。我的问题是,这个视图模型属于哪里:

  • 它或多或少是视图的一部分,是否应该在该程序集中?
  • viewmodel是否具有通用性,因此它与模型程序集一起属于?
  • viewmodel是否有自己的程序集?

我知道MVVM模式只是一个设计指南,而不是一套严格的规则,但我觉得以正确的方式学习东西会更好。

修改

后续问题:是否可以重复使用viewmodel?我可以想象一下,如果你可以为WPF桌面应用程序和silverlight Web应用程序使用相同的viewmodel,它会很有用。

2 个答案:

答案 0 :(得分:1)

它有助于构建视图,因此它属于视图程序集。

可以这样想:你可以采用你的模型组装并以不同的应用方式使用它,例如: Windows服务或Web应用程序?是否有任何与该程序集中的应用程序无关的内容?如果答案是肯定而且不是,那么您已经构建了一个独立于用户界面类型的有用的可重用组件。

答案 1 :(得分:0)

根据项目的大小,我将ViewModel放在与视图相同的程序集中,或者放在它们自己的程序集中,但从不在模型程序集中。模型不应包含与UI相关的任何内容。