为什么不使用部分类来构建 ViewModel?
既然viewmodel类的定义对datamodel的数据类有一定的定义,何不尝试减少一些工作,扩展或制作datamodel的部分类,用命令补全等等。
为什么不使用部分类来构建 ViewModel?
既然viewmodel类的定义对datamodel的数据类有一定的定义,何不尝试减少一些工作,扩展或制作datamodel的部分类,用命令补全等等。
在某些情况下,这可能很有用,但通常 ViewModel(或 PresentationModel)有一组不同的关注点,会混淆模型的其余部分。
例如,假设您有一个表示订单处理工作流的对象模型(每个人都喜欢的示例)。同样的模型可能是 WPF、网站甚至其他服务的基础。在 WPF 应用程序中,将存在 WPF 特定的问题来表示。将这些关注点添加到主模型(即使作为部分类)会导致违反 SRP。最终,它会掩盖模型的意图,并使模型的消费者难以知道模型的哪些部分是必不可少的,哪些是偶然的。
我同意,但也有一些扩展似乎也属于部分类。例如,计算字段(例如发票总额)在客户端上很有用,并且视图模型可能会公开它以将数据绑定到 UI,但它实际上是实体的属性。它可能不会在模型本身中表示,因为它可以从实体的其他属性派生,并且 IMO 可以通过使用部分类来扩展域实体更好地表示。