首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无状态与状态ViewModel

无状态与状态ViewModel
EN

Software Engineering用户
提问于 2016-06-10 09:35:12
回答 2查看 1.8K关注 0票数 0

这里有两个链接,简要描述了两者的区别:无国籍有状态

简而言之,在“无状态”场景中,我们直接将视图绑定到模型,视图模型只是公开整个对象,而不是它们的属性,因此我们不需要模型和视图模型之间的任何同步。

在“状态”场景中,我们创建模型对象的副本并将其绑定到视图。

在“无状态”的情况下有什么坏处吗?因为这似乎是一种默认的方式。是什么阻止了我们在模型级别上实现INotifyDataErrorInfo、INPC和所有的东西?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2016-06-10 11:42:02

是什么阻止了我们在模型级别上实现INotifyDataErrorInfo、INPC和所有的东西?

业务如何描述模型以及如何在UI中显示模型可以(而且将来)是不同的。

虽然简单的场景可能会使模型和UI看起来完全相同,但现实并不那么简单。ViewModel的主要目的是将业务域模型转换为易于绑定到UI的形式。

票数 1
EN

Software Engineering用户

发布于 2016-06-10 18:23:47

几乎任何时候,用户界面都会要求ViewModel具有不属于模型的状态,所以我认为在MVVM中没有所谓的“无状态”ViewModel。

下面是一些例子:

  • 启用/禁用用户界面控件的状态
  • 选定项目(列表框、单选按钮等)
  • 尚未验证或提交给模型的输入数据
票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/321822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档