Model从哪里获取MVVM中的数据?

时间:2013-11-28 08:37:04

标签: design-patterns mvvm silverlight-4.0

我目前正在研究MVVM模式。我很清楚Model包含类的概念,View只是数据的直观表示,而ViewModel是连接ModelView的图层,执行所有操作。

但我还不清楚Model从何处获取数据这一事实?因为它只包含属性。因此,即使我们使用WCF填充数据,问题仍然存在:

是否需要填写Model中的数据或此作品的中间类是否也通过ViewModel执行?

ModelViewModel提供数据,后者又将格式化数据提供给View,而View只表示数据。但Model从何处获取数据?

1 个答案:

答案 0 :(得分:0)

以更抽象的方式思考模型。 “模型”通常是一个或多个类,允许您获取/使用填充ViewModel所需的数据。它可以是存储库,类层次结构等。

例如:

我有一个ViewModel,可以显示客户的详细信息及其订单。为了示例,我不使用域模型,只使用一些DAO。要填充ViewModel,我需要客户数据和订单数据。客户DAO和订单DAO访问此数据。我通过id获得客户,然后通过id获得客户的订单。我将所有这些数据添加到ViewModel中进行显示。在这个例子中,我的'Model'是两个DAO,或DAO的包装器。

Here是另一个使用存储库而不是DAO的例子。