2

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

4

2 回答 2

5

是的,这是命令模式的常见用途。假设您有一组类(例如 Open、Save、Print),每个类都提供一个 execute() 方法,然后您可以将其中一个类的实例与您的按钮相关联,并且按钮的 onclick 事件可以调用 execute( ) 不知道相关命令的具体功能。

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

于 2009-06-13T17:16:27.473 回答
0

是的。我曾经帮助将同一个动作与菜单单击和工具栏单击联系起来。它工作得很好。它不会以任何方式彻底改变任何东西,但会为您提供更简洁的代码并摆脱令人讨厌的 switch 语句。

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

于 2009-06-13T17:16:13.120 回答