【问题标题】:ViewModel - my Business Logic Layer?ViewModel - 我的业务逻辑层?
【发布时间】:2012-08-21 00:18:53
【问题描述】:

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

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

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

【问题讨论】:

    标签: wpf mvvm viewmodel business-logic


    【解决方案1】:

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

    【讨论】:

    • 感谢您的意见。 +1 简洁明了。我喜欢那个“交叉守卫”的东西:)
    • +1 为服务层,我为业务逻辑做同样的事情。
    猜你喜欢
    • 2010-12-18
    • 2011-12-03
    • 2011-11-26
    • 2017-04-29
    • 2016-08-12
    • 2014-09-04
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多