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