4

在我的工作中,我被分配到一个使用 MVVM 模式实现的 WPF 项目。它具有零代码隐藏的视图,这很酷。它使用实体框架生成的数据模型作为模型(与其他一些类),我怀疑这是一种正确的方法。但最让我烦恼的是,它拥有 ViewModel 作为所有业务逻辑和应用程序/操作代码所在的最厚层。

现在我是 WPF/MVVM 的新手,但我对 MVVM 模式的理解表明 ViewModel 只应该为 View 提供方法,以便它可以使用 Model,这使得它成为最薄的层和我的业务逻辑和应用程序/操作代码应该驻留在其他地方。

如果有人可以帮助我,我将不胜感激。我对 ViewModel 的目的是对还是错?我应该把我的业务逻辑和应用程序/操作代码放在其他地方,还是只考虑 ViewModel 作为我的业务逻辑层?

4

1 回答 1

8

是的,我同意在视图模型中没有业务逻辑,除非它是非常简单的数学计算。我工作的公司喜欢将所有业务逻辑保留在模型中。我个人认为你的项目中应该有一个服务层来处理所有这些逻辑。但是是的,视图模型应该专注于视图,获取和发送输入,最好通过 INotifyPropertyChanged 接口更新值/属性。我喜欢将视图模型视为学校指挥交通的“交叉警卫”。:P - 希望这会有所帮助

于 2012-08-21T00:35:43.940 回答