我目前正在研究MVVM模式。我很清楚Model
包含类的概念,View
只是数据的直观表示,而ViewModel
是连接Model
和View
的图层,执行所有操作。
但我还不清楚Model
从何处获取数据这一事实?因为它只包含属性。因此,即使我们使用WCF填充数据,问题仍然存在:
是否需要填写Model
中的数据或此作品的中间类是否也通过ViewModel
执行?
Model
向ViewModel
提供数据,后者又将格式化数据提供给View
,而View
只表示数据。但Model
从何处获取数据?
答案 0 :(得分:0)
以更抽象的方式思考模型。 “模型”通常是一个或多个类,允许您获取/使用填充ViewModel所需的数据。它可以是存储库,类层次结构等。
例如:
我有一个ViewModel,可以显示客户的详细信息及其订单。为了示例,我不使用域模型,只使用一些DAO。要填充ViewModel,我需要客户数据和订单数据。客户DAO和订单DAO访问此数据。我通过id获得客户,然后通过id获得客户的订单。我将所有这些数据添加到ViewModel中进行显示。在这个例子中,我的'Model'是两个DAO,或DAO的包装器。
Here是另一个使用存储库而不是DAO的例子。