首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >视图与视图-模型关系

视图与视图-模型关系
EN

Stack Overflow用户
提问于 2012-06-14 06:39:46
回答 2查看 218关注 0票数 1

我的问题是:

  1. 可以/应该支持多个Views吗?
  2. 可以/应该由多个ViewModels支持View吗?(我相信这个问题的答案是肯定的)。

在这种情况下,对于一个相对较小的模块,您的视图相对较小,最佳实践是什么?因此,在这种情况下,我们应该为每个视图创建多个ViewModels,或者使用单个ViewModel为同一模块中的所有视图服务。注意:较小模块中的视图数限制在5-6个.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-14 06:58:55

以下是我对此的看法-

  1. Yes,相同的ViewModel可以用于多个视图();例如,假设您有一个具有客户详细信息的CustomerViewModel和一些命令,您可以使用这个具有DataGrid的视图来显示所有客户(因此将使用ObservableCollection<CustomerViewModel> ),还可以使用具有窗体的视图的相同的ViewModel来编辑单个customer.
  2. It依赖的细节,但通常不使用。如果一个视图包含多个视图,那么它可以依赖于多个ViewModels;例如,一个具有多个视图的窗口。例如,具有客户列表的仪表板、添加新客户的表单、显示产品的部分等等;但是--即使在这种情况下--创建一个包含其他子视图模型实例的单亲ViewModel总是更好。

对于单个视图,我总是希望有一个ViewModel,并尝试以这种方式设计我的应用程序。

但是是的,这完全取决于应用程序以及如何设计视图和视图模型。在MVVM中,首先根据业务逻辑设计模型和ViewModels,然后将它们与视图一起使用。

还请看一个类似的问题- ViewModel per View or per Model?

票数 1
EN

Stack Overflow用户

发布于 2012-06-14 06:57:51

那得看情况。例如,如果您有一个包含一系列观察的模型,您可以有相同的两个视图,一个视图有图表,另一个视图有网格。我的意思是你对同一个概念模型有不同的看法。在这种情况下,视图是一个具有不同内容的子视图的页面碎片,最好对所有这些部分都有一个为它们服务的特定视图模型。作为个人经历,我在过去有一个由单个模型提供的清晰视图,但我对此并不满意,您最终遇到的情况是视图模型代码过于复杂,最终需要一个重构器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11027921

复制
相关文章

相似问题

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