例如,有一个ViewModel
Add
命令Delete
命令用户使用相应的命令创建,添加和删除对象。
ViewModel应如何对用户的操作做出反应?
ViewModel
是否应立即进行相应的服务方法调用?OR
ViewModel
是否应在本地集合中添加/删除项目,将项目标记为已添加/已删除,并且只有在用户调用某个Save
/ Apply changes
按钮时才等待进行服务方法调用? 第二种变体似乎更复杂。
是否可以提供任何性能/用户体验优势或启用第一个版本无法实现的任何功能?
换句话说,最好让ViewModel
状态尽可能接近服务/数据库状态吗?