gpt4 book ai didi

.net - 为什么在 MVVM 中使用命令

转载 作者:行者123 更新时间:2023-12-03 10:13:12 30 4
gpt4 key购买 nike

我实际上是在学习 MVVM 模式。

我对命令一窍不通。为什么要使用它们?为什么不只使用调用 ViewModel 函数的函数(在 View 中)?给我们什么命令?显然它们被广泛使用,但我找不到原因。

最佳答案

Why use commands?

因为命令提供了封装。您可以在 ICommand 中隐藏任何类型的复杂逻辑,并且可以在需要时交换实现。这样您的 View 就不需要了解您的 ViewModel 等方法。它只需要知道 ViewModel 提供了执行操作“x”的命令。

不仅如此,ICommand 接口(interface)还受到许多框架元素的支持,例如 ButtonMenuItem 等。当您拥有一个 ICommand 您可以将它绑定(bind)到 View ——它将负责执行命令。

Why don't just use a function (in the View) which call a ViewModel's function?

因为我们不想混淆职责。 View 不应该有任何逻辑,它只是一个向用户显示数据的愚蠢的东西。没有了。

假设您的观点中有逻辑。有一天你的经理可能会说我们不再需要这个 UI(它看起来不太好)。让它变得有吸引力。不仅View要重新设计,还需要在那里重复View中的逻辑。这是重复的工作(违反 DRY 原则),可能会引入新的错误,因为您的 UI 已更改等。

分离 View 和逻辑的另一个主要优点是您可以轻松地对逻辑进行单元测试(在 View 模型和模型中)。

关于.net - 为什么在 MVVM 中使用命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30343129/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com