考虑以下两种情况:
这两种情况都合法地需要某种机制 X 来更新viewmodel。使用MVVM,视图可以通过在事件处理程序中设置viewmodel的属性,通过命令绑定或通过其他一些机制来实现此目的。
服务层可以使用某种机制 Y 来完成此操作。例如,在业务/域模型中引发事件,创建操作viewmodel的命令,在viewmodel上调用方法等。
实际上, X 和 Y 可以是相同的机制(或模式)。
有什么好处,坚持MVVM的精神,但干嘛?
答案 0 :(得分:1)
我认为您需要选择一个MVVM框架并遵循它支持的模式。
一般来说:
一个好的,通用的MVVM框架是MVVM Light。
如果您正在寻找更多功能,并且可以处理更多复杂性,请尝试Caliburn。
或者如果您想使用动态并尝试一些前沿的东西,请尝试我的框架:NoMvvm。