这应该很简单,
我正在尝试为命令类提供名称,该命令类是其他命令的集合。运行主命令时,将运行所有子命令。
任何理想?
答案 0 :(得分:6)
Composite命令,也许?
答案 1 :(得分:2)
复合命令?
答案 2 :(得分:2)
为了它的价值, 来自O'Reilly的关于设计模式的 Head First 书籍称之为 MacroCommand
答案 3 :(得分:1)
“批处理命令”将是我的选择。
答案 4 :(得分:1)
如果您只是创建一个将自动执行命令列表的基类,并且意图按原样使用(即只创建一个通用命令并传入一个子命令列表)那么我会使用一些东西像CompositeCommand或BatchCommand。如果这不是一个泛型类,而是一个硬编码的特定实现,我会在整个操作之后命名它。例如:
BatchCommand registerCmd = new BatchCommand();
registerCmd.add(new CreateProfileCmd());
registerCmd.add(new CreatePreferences());
registerCmd.add(new SendWelcomeEmailCmd());
VS
class RegisterCmd extends Command {
execute() {
new CreateProfileCmd().execute();
new CreatePreferences().execute();
new SendWelcomeEmailCmd().execute();
}
}
在第二种情况下,我不会为RegisterCmd类创建新名称。这只是一个恰好调用其他命令来完成其工作的命令。
答案 5 :(得分:0)
可以使用“Script”作为另一种替代后缀(但我可能会使用CompositeCommand)
答案 6 :(得分:0)
我喜欢BatchCommand,它代表它是什么。我认为CompositeCommand非常“模式”,就像“Singleton”前缀一个应该只有一个实例的类一样。