2012-05-29 14 views
0

擁有C++控制檯實用程序。 裏面的代碼解析命令行輸入,並根據輸入調用特定的函數。C++:模式:哪種模式適合特定代碼執行,具體取決於命令行參數

我有一個很大的醜陋的解析例程調用全局函數。

我不喜歡這段代碼,並希望通過設計模式應用來組織這段代碼。

的流程如下:

  • 處理命令行參數;
  • 如果發生錯誤,則報告並退出,否則繼續;
  • 根據指定的參數調用特定的例程;

對於這種情況,你會建議什麼模式?

謝謝。

+3

「寫代碼有意義,不符合模式」模式。 –

+0

你不喜歡它什麼?即你想解決什麼問題? – Peter

+0

@CatPlusPlus我不喜歡代碼組織和它的'程序。 – DaddyM

回答

1

一個常見的設計模式用於這樣的事情是Command pattern

+0

謝謝布雷迪。我會調查並回復。 – DaddyM

+0

@DaddyM,樂意幫忙 – Brady

1

不是模式,但儘管如此,我建議看看Boost.Program_options:

http://www.boost.org/doc/libs/1_49_0/doc/html/program_options.html

它很容易增加支持命令行參數,以您的應用程序,因爲它所有的繁瑣解析。爲了實際執行特定的功能,您仍然可以看看命令模式(如@Brady建議的模式)。

但是請注意,program_options是Boost庫中的一個,它不僅僅是標頭,而是需要編譯。

+0

謝謝約翰!我會閱讀幫助,並使我的代碼更清晰。 – DaddyM