【问题标题】:Model-View-ViewModel in WPFWPF 中的模型-视图-视图模型
【发布时间】:2009-07-16 06:54:43
【问题描述】:

我目前注意到很多人开始经常使用这个模型。无论如何,我认为将逻辑与表示分开是非常正确的。 更重要的是,一些功能没有它就无法实现,或者很难实现。 考虑一棵可选择的树,具有搜索功能等。 但在某些情况下,您不需要实现这种 MVVM 模型,尽管人们会这样做。

你认为这是正确的吗? WPF 的目的不是为了简化编码——尝试在 XAML 中完成大部分工作吗?

我有一种感觉,这种模型经常被滥用,只是为了设计的优雅,但却破坏了 WPF 的努力。

还是我完全错了?

【问题讨论】:

    标签: wpf mvvm


    【解决方案1】:

    imho WPF 是为使用 MVVM 而设计的,因此如果您编写的代码没有使用这种模式,迟早会导致您不得不通过一些技巧来解决问题。

    对我来说,几乎没有理由不使用 MVVM,例如私人项目、试用,...

    在大型项目中,由于这种设计模式的功能(启用单元测试、防止 UI 的误用……),所有内容都应该用 MVVM 编写。

    【讨论】:

    • 正如我所说,对于“专业”项目而言,恕我直言是值得付出努力的,我认为这不是更多的代码
    【解决方案2】:

    将逻辑与 UI 分离的主要目的是为了可测试性。由于您将所有逻辑都放在 ViewModel 下,因此您可以编写测试脚本以在没有 UI 的情况下测试您的逻辑。

    【讨论】:

    • MVVM 可用于其他类型的测试。如果您不编写任何测试代码,那么您要么有一个非常小的项目(那么为什么要打扰任何像 MVVM 这样的软件组织),或者您不关心代码质量。
    • >>如果我不打算编写测试单元怎么办?是的。就像 emddudley 说的,既然你真的不关心代码质量,那么就不要使用任何设计模式或最佳实践。
    【解决方案3】:

    问题在于缺乏工具,因此当有人不得不编写半页代码以在单击按钮时抛出消息框时,很难推销 wvvm。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多