请原谅我的无知,我最近才开始在 Silverlight 中编码。
我尝试在 Silverlight 中实现命令模式并碰壁。他们说命令很棒,因为您可以将它们写入 xaml,因此您可以保持代码隐藏干净,而且您的视图和视图模型之间存在松散耦合,因为视图中没有对视图模型的直接引用。
您不能保持代码隐藏干净,因为您只能将一个命令绑定到控件,并且您必须决定在绑定时哪个事件将触发您的命令。如果一个控件有 30 个事件,你必须选择一个来指挥。其他 29 个将从后面的代码执行来自事件处理程序的其他命令。
松散耦合可以通过依赖注入更简单地实现,命令添加了一个无用的间接层,没有提供任何额外的东西,它们只会使维护代码变得更加困难。当您针对接口进行编程并准确查看调用了什么方法时,维护代码会更容易,然后当您必须在命令定义和视图模型之间不断跳转时。
我是否遗漏了什么,或者命令真的不适合用于视图和视图模型交互?
请看下面的问题。这就是为什么我没有得到所有命令的炒作: