【问题标题】:Can Models communicate with each other in MVVM模型可以在 MVVM 中相互通信吗
【发布时间】:2014-07-29 01:42:39
【问题描述】:

一个模型能否与其他模型通信,就我而言,一个模型是否可以拥有另一个模型的列表,例如:

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

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

【问题讨论】:

  • 绝对合适。

标签: c# .net wpf xaml mvvm


【解决方案1】:

是的。

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

【讨论】:

    【解决方案2】:

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

    很多时候我不需要模型中的任何逻辑,模型是我从数据存储接收并发送到数据存储(文件、数据库、Web 服务……)的结构,模型对我来说只是“只是”数据并且最好生成(代理生成,实体框架,...)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-14
      相关资源
      最近更新 更多