为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我们需要命令?何时使用它们,何时不使用?

为什么我们需要命令?何时使用它们,何时不使用?

C#
哆啦的时光机 2022-06-18 16:32:50
我目前正在尝试使用 Prism 框架做一个基于 MVVM 的 WPF 程序,并且我对命令有很多疑问。让我暂时向您介绍一下事情是如何制作的:带有一些代码的 View,包含要显示的所有数据的 ViewModel,以及保持数据持久化的 Model。当我必须实现一个不断获取鼠标位置并处理一些命令以发送到硬件的元素时,关于命令的问题就出现了。目前,它在后面的代码中。由于它在后面的代码中,我们可能会遇到无法对发送到硬件的命令进行单元测试的问题。假设现在我想将此代码放在 ViewModel 中,问题将是性能,因为 UI 会不断对鼠标的位置做出反应,这会导致大量获取并设置为一个值(每秒很多) .于是我进行了搜索,似乎 MVVM 是最具争议的话题。这是一个实例: https ://stackoverflow.com/a/30343419/10695437 和 https://stackoverflow.com/a/1510592/10695437那么,我们什么时候使用绑定命令呢?是否有某种特定类型的软件重要或不重要?编辑:用我上面提到的帖子将其标记为重复让我只是说“哇”。似乎如果这个问题在 5 年前得到了回答并且有争议,就不能重新讨论这个问题。谢谢,下次我会坚持大多数人的想法,而不是试图围绕一个问题得到一个“真实”的答案(这意味着一个不以“我认为”或“IMO”开头的答案)。
查看完整描述

1 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

命令的最大好处是您可以保留命令的作用以及当前是否可以在一个地方执行的逻辑。比在代码中分散设置 Button.IsEnabled 值要好得多。当关键目标是完全分离 UI 和应用程序的其余部分时,这在 MVVM 设计模式中更是如此。

在您的特定情况下,我不会在每个单独的鼠标移动消息之后进行更新 - 而是某种缓冲机制(例如反应性扩展),因此您只能在设定的时间段后更新命令,可能每半秒更新一次。


查看完整回答
反对 回复 2022-06-18
  • 1 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信