2010-02-12 35 views

回答

6

Composite命令,也許?

+0

謝謝,這是我想到的,但我希望檢查是否其他人以相同的方式使用該名稱。 – 2010-02-12 14:30:22

1

「批處理命令」將是我的選擇。

+0

實際上不是一個糟糕的選擇;但是,我個人會將「批處理命令」與特定的用例相關聯,即將一組固定的命令_應用於一組輸入項目_。我發現「複合命令」的含義更加中性。 – stakx 2010-02-12 14:47:07

+0

對我們來說,這是行不通的,因爲我們的軟件跟蹤管道中的「批次」。不過,我喜歡這個名字,因爲Composite對於沒有英語具有第一語言的人來說更難。 – 2010-02-12 15:05:56

0

能使用「腳本」作爲另一種選擇後綴(但我可能會用CompositeCommand去)

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類的新名稱。這只是一個恰好可以調用其他命令來完成工作的命令。

2

對於它的價值, O'Reilly出版的深入淺出本關於設計模式稱之爲一個 MacroCommand

0

我喜歡BatchCommand,它代表它是什麼。我認爲CompositeCommand是非常「模式」的,就像前綴「Singleton」一個應該只有一個實例的類一樣。