【发布时间】:2009-04-02 13:44:47
【问题描述】:
请原谅我的无知,我最近才开始在 Silverlight 中编码。
我尝试在 Silverlight 中实现命令模式并碰壁。 他们说命令很棒,因为您可以将它们写入 xaml,因此您可以保持代码隐藏干净,而且您的视图和视图模型之间存在松散耦合,因为视图中没有对视图模型的直接引用。
您不能保持代码隐藏干净,因为您只能将一个命令绑定到一个控件,并且您必须决定在绑定时哪个事件会触发您的命令。如果一个控件有 30 个事件,你必须选择一个来指挥。其他 29 个将在后面的代码中执行来自事件处理程序的其他命令。
松散耦合可以通过依赖注入更简单地实现,命令添加了一个无用的间接层,没有提供任何额外的东西,它们只会让你的代码更难维护。当您针对接口进行编程并准确查看调用了哪些方法时,维护代码会更容易,然后您必须在命令定义和视图模型之间不断跳转。
我是否遗漏了什么,或者命令真的不适合用于视图和视图模型交互?
请看下面的问题。这就是为什么我没有得到所有关于命令的炒作:
How should I handle multiple events per control w/command pattern using MVVM in Silverlight?
【问题讨论】:
标签: c# wpf silverlight design-patterns mvp