Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 在命令模式中,将其他命令组合在一起的命令称为什么?_Design Patterns_Naming Conventions_Command Pattern - Fatal编程技术网

Design patterns 在命令模式中,将其他命令组合在一起的命令称为什么?

Design patterns 在命令模式中,将其他命令组合在一起的命令称为什么?,design-patterns,naming-conventions,command-pattern,Design Patterns,Naming Conventions,Command Pattern,这应该很容易 我试图为一个命令类命名,这个命令类是其他命令的集合。运行主命令时,将运行所有子命令 任何理想的?命令,也许?复合命令?我会选择“批处理命令”。可以使用“脚本”作为另一个可选后缀(但我可能会使用复合命令)如果您只是创建一个基类,该基类将自动执行命令列表,并按原样使用(即,只需创建一个通用命令并传入一系列子命令)然后我会使用类似CompositeCommand或BatchCommand的东西。如果这不是一个通用类,而是一个硬编码的特定实现,我会根据整个操作的内容来命名它。例如: Bat

这应该很容易

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


任何理想的?

命令,也许?

复合命令?

我会选择“批处理命令”。

可以使用“脚本”作为另一个可选后缀(但我可能会使用复合命令)

如果您只是创建一个基类,该基类将自动执行命令列表,并按原样使用(即,只需创建一个通用命令并传入一系列子命令)然后我会使用类似CompositeCommand或BatchCommand的东西。如果这不是一个通用类,而是一个硬编码的特定实现,我会根据整个操作的内容来命名它。例如:

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

在第二种情况下,我不会为RegisterCmd类创建一个新名称。它只是一个碰巧调用其他命令来完成其工作的命令。

, 来自O'Reilly的第一本关于设计模式的书称之为
.

我喜欢BatchCommand,它代表的是什么。我认为CompositeCommand非常“模式”,就像前缀是“Singleton”一个应该只有一个实例的类。

谢谢,这是我的想法,但我希望检查其他人是否以相同的方式使用该名称。实际上,这是一个不错的选择;但是,我个人会将“批处理命令”与特定的用例相关联,即对一组输入项应用固定的命令序列。我发现“composite命令”的含义更加中性。对我们来说,这不起作用,因为我们的软件在管道中跟踪“批处理”。然而,我喜欢这个名字,因为composite对于没有英语和母语的人来说更难。
class RegisterCmd extends Command {
  execute() {
    new CreateProfileCmd().execute();
    new CreatePreferences().execute();
    new SendWelcomeEmailCmd().execute();
  }
}