模型可以在MVVM中相互通信

时间:2014-06-08 09:13:23

标签: c# .net wpf xaml mvvm

模型是否可以与其他模型进行通信,对于我的情况,模型可以包含其他模型的列表,例如:

我有一个名为Graph的模型和一个名为Node的模型。

MVVM模式中是否适合制作作为Model的Graph类,包含作为属性的模型节点列表?

2 个答案:

答案 0 :(得分:1)

根据视图和数据,MVVM只是关注点分离。视图可以有其他视图,模型可以封装其他模型。视图模型是混合,其中使用模型存储和获取数据并由视图使用。

答案 1 :(得分:1)

虽然答案可能是肯定的,但您必须考虑“正确”的问题。 MVVM中的职责。只要模型保持模型的完整性(引用,域/验证检查),让模型类进行通信就可以了。彼此。但是,一般来说,我更喜欢ViewModel和存储库负责检索数据并将其转换为ViewModel类。

很多时候我不需要模型中的任何逻辑,模型是我从数据存储接收的结构并发送到数据存储(文件,数据库,Web服务......)模型是'只是&# 39;数据给我,最好生成(代理生成,实体框架,......)