Wpf 视图模型应该包含逻辑吗?

Wpf 视图模型应该包含逻辑吗?,wpf,mvvm,Wpf,Mvvm,在wpf应用程序中,viewmodel的职责是什么?他可以管理一切,还是只代表视图,向业务层发送消息/事件并从中获取信息?简短回答,是的 更长的回答 模型-视图-模型(MVVM)模式的主要目标是: 允许对视图逻辑进行单元测试。这些是应用于ViewModel图层的单元测试,该图层在没有关联视图的情况下执行 通过最小化与XAML文件关联的代码量,简化开发人员设计器工作流 MVVM模式还提供了视图逻辑和业务逻辑之间的关注点分离,就像MVC及其UI模式那样。然而,上面的两点才是真正定义MVVM模式的地方

在wpf应用程序中,viewmodel的职责是什么?他可以管理一切,还是只代表视图,向业务层发送消息/事件并从中获取信息?

简短回答,是的

更长的回答

模型-视图-模型(MVVM)模式的主要目标是:

  • 允许对视图逻辑进行单元测试。这些是应用于ViewModel图层的单元测试,该图层在没有关联视图的情况下执行
  • 通过最小化与XAML文件关联的代码量,简化开发人员设计器工作流 MVVM模式还提供了视图逻辑和业务逻辑之间的关注点分离,就像MVC及其UI模式那样。然而,上面的两点才是真正定义MVVM模式的地方

    现在,考虑一下您的业务逻辑在哪里。如果将其放置在ViewModel中,上面的#1和#2是否仍然有效?对如果将其放置在单独的层中,#1和#2是否仍然有效?对

    因此,在这两种情况下,您仍然实现了MVVM的两个主要目标。您采取哪种方法实际上取决于应用程序的复杂性以及开发人员的数量。随着这两个因素的增加,您将受益于3层。。。或者更多

    对-