次の答えは、あなたが探しているものに沿っていると思います:
テンプレート パターンの適用を検討する必要があります (「デザイン パターン」のテンプレート メソッド [Gamma, el al])。
要するに、全体的な処理は次のようになります。
If the arguments to the program are valid then
Do necessary pre-processing
For every line in the input
Do necessary input processing
Do necessary post-processing
Otherwise
Show the user a friendly usage message
つまり、次のメソッドを持つ ConsoleEngineBase クラスを実装します。
PreProcess()
ProcessLine()
PostProcess()
Usage()
Main()
次に、ConsoleEngine() インスタンスをインスタンス化し、Main() メッセージを送信して開始するシャーシを作成します。
これをコンソールまたはコマンド ライン プログラムに適用する方法の良い例については、次のリンクを参照してください:
http://msdn.microsoft.com/en-us/magazine/cc164014.aspx
例は C# ですが、アイデアは他の環境でも簡単に実装できます。
GetOpt() は、引数の処理 (前処理) に適合する部分だけと見なすことができます。
お役に立てれば。