ViewModel - 我的业务逻辑层?

时间:2012-08-21 00:18:53

标签: wpf mvvm viewmodel business-logic

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

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

如果有人能帮助我,我真的很感激。我对ViewModel的目的是对还是错?我应该将我的业务逻辑和应用程序/操作代码放在其他地方,还是仅将ViewModel视为我的业务逻辑层?

1 个答案:

答案 0 :(得分:7)

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