在MVVM中,ICommand实现负责什么?执行还是调用?

时间:2013-10-30 11:53:39

标签: design-patterns mvvm icommand

问题很简单。在MVVM中,ICommand实现是否有责任执行CanExecute和Execute logic ,或者调用逻辑,该逻辑位于ViewModel的控制之下?

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

逻辑还是调用?

1 个答案:

答案 0 :(得分:2)

调用。

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

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