1

问题很简单。在 MVVM 中,ICommand 实现的职责是执行 CanExecute 和 Execute逻辑,还是调用ViewModel 控制下的逻辑?

我之所以这样问,是因为当我尝试在 ICommand 实现中实现逻辑时,感觉在 Command 和 ViewModel 以及其他对象之间发生了很多紧密的耦合。但是当我尝试只从 ICommand 实现中调用方法时,我会感觉到我有很多过多的代码来表示方法调用。如果我更清楚 ICommand 实现的单一职责,我认为这个问题会自行解决。

逻辑还是调用?

4

1 回答 1

2

调用。

它是 ViewModel 中的一个占位符,从您的 View 中调用。然后它应该在正确的情况下(可以执行)将您引导到正确的方法(执行)。

MVVM 比其他方法更冗长,编写锅炉代码可能有点烦人,但你得到的回报是相当大的。

于 2013-10-30T12:37:30.657 回答