如何使用命令模式来降低菜单的复杂性?

时间:2009-06-13 17:09:13

标签: design-patterns button menu command-pattern

说我有4个按钮,我希望每个按钮都做不同的事情。我不想要一个大的switch语句,我根据按下的按钮做了不同的事情,我也不想为每个按钮点击一个单独的方法。命令模式是解决这个问题的好方法吗?

2 个答案:

答案 0 :(得分:5)

是的,这是命令模式的常见用法。想象一下,你有一组类(例如Open,Save,Print),每个类提供一个execute()方法,然后你可以将这些类之一的实例与你的按钮相关联,按钮的onclick事件可以调用execute( )不知道相关命令的具体内容。

Wikipedia article给出了命令模式的一些其他常见用法。

答案 1 :(得分:0)

是。我曾经帮助将相同的Action绑定到菜单单击和工具栏单击。它工作得很好。它不会以任何方式彻底改变任何东西,但会为您提供更清晰的代码并摆脱令人讨厌的切换语句。

我有代码,我会尝试挖掘给你一些例子。