MVVM:ViewModel返回模型的实例,或将VM List压缩到模型列表中?

时间:2015-02-06 10:43:36

标签: c# mvvm

我有一些设计问题,我不确定最好的方法。

我有一个加载的“问题”模型列表。这些问题会呈现给用户,因此会包含在记录用户输入的ViewModel类中。

然后将输入用作引擎的一部分以产生各种结果。该引擎的输入通常是用于处理最终结果的模型列表。

我的问题是“问题”扩展了“动作”,这是引擎中使用的另一个模型,让引擎将这些对象组合在一起是有意义的。但是,从用户输入获得的信息目前仅保留在QuestionViewModel上。

处理此问题的正确方法是什么?使用模型和ViewModel混合使用进程是否可以接受?我有一些建议,但我不知道最好的设计选择是什么:

  • 让QuestionViewModel在Question上记录结果,并将问题列表传递给引擎。
  • 将“QuestionViewModel”列表传递给引擎,但返回基础“问题”的实例并将其用于处理

1 个答案:

答案 0 :(得分:1)

ViewModel类的目的是为了便于通过用户界面操纵Model个对象。

通常,您将通过Question接口操作QuestionViewModel实例,然后将操纵的Question对象传递回较低的业务逻辑层(即您的处理引擎)。 / p>