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

Iai*_*ain 2 design-patterns menu button command-pattern

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

mik*_*kej 5

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

维基百科的文章给出了命令模式的一些其他常见的用途.