我试图了解使用视图模型以及留下的模型的最佳方式。
我的模型是自定义项的集合(如用户配置列表)。
我理解公开此模型的正确方法是通过ConfigurationListViewModel
将模型的列表转换为ui可读的数据。
但是我应该如何管理ConfigurationListViewModel
背后的项目?
单个配置本身应该有ConfigurationViewModel
吗?
或者主ConfigurationListViewModel
应该处理其项目的曝光?
如果我想向我的ConfigurationList
添加配置,我会将Add()
方法调用到我的ConfigurationListViewModel
,并且它会创建一个新的Configuration
,或者应该我在父级中创建了一个新的(Configuration
?ConfigurationViewModel
?),然后调用Add
([Configuration
?ConfigurationViewModel
?] {{1} }?
答案 0 :(得分:2)
实际上,答案是以上任何一种。
如果视图模型中使用的数据与模型的形式相同,那么创建一个ConfigurationViewModel
类就不会给自己带来任何好处Configuration
类的副本。
至于添加,你可以这样做。有时你想在视图模型中进行所有编辑,这样你就可以恢复"不实际修改模型的变化。如果这不是问题,首先修改模型并传播到视图模型就像方法一样有效。
所有这一切,你的方法都不会违反MVVM。选择最有意义的东西,特别是语义和未来的维护。一般来说,我更喜欢简单到盲目遵守诸如&#34之类的原则;每个数据对象都需要一个视图模型表示"。