Как использовать шаблон команды, чтобы уменьшить сложность меню?

StackOverflow https://stackoverflow.com/questions/991061

Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top