《Apache Common CLI官方文檔
本篇文章是並發編程網組織的一次Apache Common組件翻譯的一部分,因為無意中看到了Apache Common CLI感覺很好奇,因為這個工具很少在網上看到,當然或許我沒有關注過。因為我之前也寫過類似的CLI工具所以感覺情有獨鍾吧。所以讓我來為大家揭開CLI的神秘麵紗。
雖然各種人機交互技術飛速發展,但最傳統的命令行模式依然被廣泛應用於各個領域:從編譯代碼到係統管理,命令行因其簡潔高效而備受寵愛。各種工具和係統都提供了詳盡的使用手冊,有些還提供示例說明如何二次開發。然而關於如何開發一個易用、強壯的命令行工具的文章卻很少。
簡介
構建命令行程序需要三個步驟. 分別是定義, 解析和詢問. 下麵的章節將輪流介紹每一個階段,將介紹如何去實現一個CLI .
定義階段
每一條命令行都必須定義一組參數,它們被用來定義應用程序的接口.
CLI 使用 Options 類類來定義和設置參數, 它是所有 Option 實例的容器. 目前有兩種方式來創建 Options in CLI. 一種是通過構造函數,這是最普通也是最為大家所熟知的一種方式;另外一種方法是通過 Options 中定義的工廠方式來實現.
Usage Scenarios 文檔提供了實例怎麼去創建一個 Options 對象同時也提供了一個真實的示例.
定義階段的目的是創建一個Options 實例.
解析階段
在解析階段中,通過命令行傳入應用程序的文本來進行處理. 處理過程將根據在解析器的實現過程中定義的規則來進行.
在 CommandLineParser 類中定義的方法將用 CLI 定義階段中產生的 Options 實例和一組字符串作為輸入,並返回解析後生成的CommandLine.
解析階段的目的是創建一個CommandLine 實例.
詢問階段
在詢問階段中,應用程序通過查詢 CommandLine,並通過其中的布爾參數和提供給應用程序的參數值來決定需要執行哪些程序分支.
這個階段在用戶的代碼中實現,CommandLine 中的訪問方法為用戶代碼提供了 CLI 的詢問能力.
詢問階段的目的是根據命令行和解析器處理的Options規則與用戶的代碼相匹配.
最後更新:2017-05-19 15:32:15