【问题标题】:why not partial class to build the ViewModel in MVVM pattern?为什么不使用部分类来构建 MVVM 模式中的 ViewModel?
【发布时间】:2008-11-25 13:06:41
【问题描述】:

为什么不使用部分类来构建 ViewModel?

既然viewmodel类的定义中对datamodel的数据类有一定的定义,何不尝试减少一些工作,扩展或制作datamodel的部分类,用命令补全等等。

【问题讨论】:

  • 你是说在同一个类中定义Model和ViewModel?

标签: wpf design-patterns xaml mvvm


【解决方案1】:

在某些情况下这可能很有用,但通常 ViewModel(或 PresentationModel)有一组不同的关注点,会混淆模型的其余部分。

例如,假设您有一个表示订单处理工作流的对象模型(每个人都喜欢的示例)。同样的模型可能是 WPF、网站甚至其他服务的基础。 在 WPF 应用程序中,将有 WPF 特定的问题来表示。将这些关注点添加到主模型(即使作为部分类)会导致违反 SRP。最终,它会掩盖模型的意图,并使模型的消费者难以知道模型的哪些部分是必不可少的,哪些是偶然的。

【讨论】:

    【解决方案2】:

    我同意,但也有一些扩展似乎也属于部分类。例如,一个计算字段(比如发票总额),在客户端上很有用,也许视图模型将其公开以将数据绑定到 UI,但它实际上是实体的属性。它可能不会在模型本身中表示,因为它可以从实体的其他属性派生出来,而 IMO 最好通过使用分部类来扩展域实体来表示。

    【讨论】:

      猜你喜欢
      • 2011-05-13
      • 2018-03-11
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2011-09-09
      • 2023-03-17
      相关资源
      最近更新 更多