1

我只是在 WPF 应用程序中学习 MVVM 模式的基本原理,我可以想象这听起来像是一个非常愚蠢的问题,但无论如何这里都是:

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

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

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

编辑

后续问题:视图模型是否意味着可重用?我可以想象一个场景,如果您可以为 WPF 桌面应用程序和 Silverlight Web 应用程序使用相同的视图模型,那将会很有用。

4

2 回答 2

1

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

可以这样想:你能把你的模型组件用在不同风格的应用程序中,例如 Windows 服务或 Web 应用程序吗?是否有任何与该程序集中的应用程序风格无关的内容?如果答案是肯定的和否定的,那么您已经为自己构建了一个独立于用户界面类型的有用的可重用组件。

于 2012-05-14T12:20:22.660 回答
0

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

于 2012-05-14T12:18:56.917 回答