我WPF就像一年前一样使用MVVM,我猜不完整,因为我不使用命令.直到现在我真的做了我所需要的所有我没有命令它工作正常,但对我来说最重要的是,它的清晰和简短,MVVM说的理论no code behind,但是,为什么复杂的1000个类,每个按钮或事件一个?
我真的没有看到收益.这只是概念还是还有更多?
我将尝试解释为什么命令很有用。
在 MVVM 中,View 开发人员(设计人员)应该只做影响程序外观的事情,而 ViewModel 开发人员(程序员)只关心行为。
想象一下您有一个带有提交按钮的表单。如果表单没有提交到数据库(例如),则是程序员的问题;没有人会责怪设计师。然而,使用事件意味着一切都在View端完成。
这就是 Command 来救援的地方。它允许程序员执行逻辑,然后等待设计者绑定到它。程序员可以在没有设计(视图)的情况下进行单元测试,并自豪地告诉人们它有效。如果它破裂了,那就意味着设计者没有正确地绑定它。
当然,我相信这里有很多人会独自完成所有事情。在这种情况下,MVVM 的用处就会降低。但是请注意,当您从 VS 项目中完全删除所有视图时,您的 ViewModel 将进行编译并发挥全部功能 - 除了没有 GUI,并且它无法接收用户输入之外。通常,大多数项目要求都是行为性的,因此如果您的 ViewModel 正常工作,那么您就已经满足了大多数要求。
最后,我想指出,有代码隐藏是可以的——只要它纯粹只是影响事物的外观,而不影响行为。当然,大多数完美主义者都希望零代码隐藏,但在某些情况下这并不总是可能的。