В шаблоне Команды, что вы называете командой, которая группирует другие команды? - PullRequest
3 голосов
/ 12 февраля 2010

Это должно быть легко,

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

Есть ли идеалы?

Ответы [ 7 ]

6 голосов
/ 12 февраля 2010

Составная Команда, может быть?

2 голосов
/ 16 февраля 2010

за что стоит, Head First книга О'Рейли о шаблонах дизайна называет это MacroCommand .

2 голосов
/ 12 февраля 2010

Составная команда?

1 голос
/ 12 февраля 2010

Если вы просто создаете базовый класс, который будет автоматически выполнять список команд и предназначен для использования как есть (т.е. просто создать общую команду и передать список подкоманд), тогда я бы использовал что-токак CompositeCommand или BatchCommand.Если это не универсальный класс, а жестко заданная конкретная реализация, я бы назвал его в честь всей операции.Например:

BatchCommand registerCmd = new BatchCommand();
registerCmd.add(new CreateProfileCmd());
registerCmd.add(new CreatePreferences());
registerCmd.add(new SendWelcomeEmailCmd());

против

class RegisterCmd extends Command {
  execute() {
    new CreateProfileCmd().execute();
    new CreatePreferences().execute();
    new SendWelcomeEmailCmd().execute();
  }
}

Во втором случае я бы не стал создавать новое имя для класса RegisterCmd.Это просто команда, которая вызывает другие команды для выполнения своей работы.

1 голос
/ 12 февраля 2010

"Batch Command" будет моим выбором.

0 голосов
/ 21 марта 2010

Мне понравился BatchCommand, он представляет, что это такое. Я думаю, что CompositeCommand очень «шаблонный», так же, как префикс «Singleton» класса, который должен иметь только один экземпляр.

0 голосов
/ 12 февраля 2010

Может использовать «Скрипт» в качестве другого альтернативного суффикса (но я бы, вероятно, пошел с CompositeCommand)

...