Frage

Dies sollte einfach sein,

Ich versuche, mit dem Namen für eine Befehlsklasse zu entwickeln, die eine Sammlung von anderen Befehlen ist. Alle der Unterbefehle ausgeführt werden sollen, wenn der Master-Befehl ausgeführt wird.

Jedes Ideal?

War es hilfreich?

Lösung

Composite- Befehl, vielleicht?

Andere Tipps

Composite-Befehl?

Für das, was es wert ist, die Head First Buch von O'Reilly über Design Patterns nennt es ein Macro .

"Batch Command" wäre meine Wahl.

Wenn Sie einfach eine Basisklasse erstellen, die automatisch eine Liste der Befehle ausgeführt werden, und sollten verwendet werden, wie (dh nur einen allgemeinen Befehl erstellen und in einer Liste der Unterbefehle übergeben), dann würde ich etwas verwenden wie Composite oder BatchCommand. Ist dies nicht eine generische Klasse sein, sondern eine hartcodierte spezifische Implementierung bedeutete, dass ich nennen würde es nach dem, was der Gesamtbetrieb ist. Zum Beispiel:

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();
  }
}

Im zweiten Fall würde ich nicht einen neuen Namen für die RegisterCmd Klasse erstellen. Es ist nur ein Befehl, der andere Befehle aufrufen geschieht, seine Arbeit zu tun.

Könnte "Script" als eine weitere Alternative Suffix verwenden (aber ich würde wahrscheinlich gehen mit Composite)

Ich mochte BatchCommand, es stellt dar, was es ist. Ich denke, dass Composite ist sehr „Muster“, wie voran mit „Singleton“ einer Klasse, die nur eine Instanz haben soll.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top