2013-12-11 117 views
1

我想創建一個java程序,它將收回一些命令。我希望將來爲此程序創建一個GUI,但現在我想使用命令使用該程序。我認爲我不需要運行一個控制檯來發送命令,我應該是例如,如果我的程序被稱爲managedProgram並且shutdown是這個程序的一個命令,一個被調用的例子將會是:命令模式設計

shutdown -hours to shutdown the機器在小時。 或 關閉 - 分鐘以分鐘關閉機器。

我已經爲每個命令創建了一個類,它可能有一個方法來執行命令白色不同輸入參數。一個主類,用於接收參數(命令和命令的參數)並調用執行輸入命令所需的類。然而,這種結構很容易出錯,因爲我有很多條件序列(if,elseif else或swith),所以我認爲如果我使用正確的模式設計來改變層次結構,我將擁有一個可擴展和可重用的結構。例如,我想在程序結束時創建一個GUI。

非常感謝。

回答

0

Command pattern使用:

在其中一個對象是用來代表 並封裝在稍後的時間 調用一個方法所需要的所有信息的行爲的設計模式。此信息包括方法名稱,擁有方法參數的方法和值的對象 。

如果你實現這個模式,你將很容易從GUI重用它,因爲GUI動作將被映射到正確的命令。