为什么不使用部分类来构建 MVVM 模式中的 ViewModel?

1 wpf xaml design-patterns mvvm

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

既然viewmodel类的定义对datamodel的数据类有一定的定义,为什么不尽量减少一些工作,扩展或制作datamodel的部分类,用命令完成它们等等。

Chr*_*age 5

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

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