Как я могу использовать шаблон команды, чтобы уменьшить сложность меню? - PullRequest
2 голосов
/ 13 июня 2009

Скажем, у меня есть 4 кнопки, и я хочу, чтобы каждая из них выполняла разные вещи. Я не хочу большого оператора switch, где я делаю разные вещи, в зависимости от того, какая кнопка была нажата, и при этом я не хочу отдельного метода для каждого нажатия кнопки. Является ли шаблон команд хорошим способом решения этой проблемы?

Ответы [ 2 ]

5 голосов
/ 13 июня 2009

Да, это обычное использование для шаблона команды. Представьте, что у вас есть набор классов (например, Open, Save, Print), каждый из которых предоставляет метод execute (), затем вы можете связать экземпляр одного из этих классов с вашими кнопками, и событие onclick кнопки может вызвать execute ( ), не зная специфики того, что делает связанная команда.

В статье Википедии приведены некоторые другие распространенные варианты использования шаблона команды.

0 голосов
/ 13 июня 2009

Да. Я использовал, чтобы помочь в привязке одного и того же действия к щелчку меню и панели инструментов. Это работает довольно хорошо. Он ничего не меняет, но дает вам более чистый код и избавляет от неприятных операторов switch.

У меня где-то есть код, который я постараюсь найти, чтобы привести несколько примеров.

...