这应该很容易,
我试图想出一个命令类的名称,它是其他命令的集合。运行主命令时,将运行所有子命令。
有什么理想吗?
这应该很容易,
我试图想出一个命令类的名称,它是其他命令的集合。运行主命令时,将运行所有子命令。
有什么理想吗?
复合命令,也许?
复合命令?
值得一提的是,O'Reilly 的Head First关于设计模式的书称它为 MacroCommand。
“批处理命令”将是我的选择。
如果您只是创建一个将自动执行命令列表的基类,并且打算按原样使用(即,只需创建一个通用命令并传入子命令列表),那么我会使用 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 类创建新名称。它只是一个碰巧调用其他命令来完成其工作的命令。
我喜欢 BatchCommand,它代表了它的本质。我认为 CompositeCommand 非常“模式”,就像在“Singleton”前面加上一个应该只有一个实例的类一样。
可以使用“脚本”作为另一个替代后缀(但我可能会使用 CompositeCommand)