3

这应该很容易,

我试图想出一个命令类的名称,它是其他命令的集合。运行主命令时,将运行所有子命令。

有什么理想吗?

4

7 回答 7

7

复合命令,也许?

于 2010-02-12T14:25:33.133 回答
2

复合命令?

于 2010-02-12T14:25:46.117 回答
2

值得一提的是,O'Reilly 的Head First关于设计模式的书称它为 MacroCommand

于 2010-02-15T23:16:51.527 回答
1

“批处理命令”将是我的选择。

于 2010-02-12T14:26:36.220 回答
1

如果您只是创建一个将自动执行命令列表的基类,并且打算按原样使用(即,只需创建一个通用命令并传入子命令列表),那么我会使用 CompositeCommand 或批处理命令。如果这不是一个通用类,而是一个硬编码的特定实现,我会在整体操作之后命名它。例如:

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 类创建新名称。它只是一个碰巧调用其他命令来完成其工作的命令。

于 2010-02-12T14:34:49.803 回答
1

我喜欢 BatchCommand,它代表了它的本质。我认为 CompositeCommand 非常“模式”,就像在“Singleton”前面加上一个应该只有一个实例的类一样。

于 2010-03-21T05:14:59.210 回答
0

可以使用“脚本”作为另一个替代后缀(但我可能会使用 CompositeCommand)

于 2010-02-12T14:31:30.003 回答