Я думаю, что следующий ответ больше соответствует тому, что вы ищете:
Вы должны посмотреть на применение шаблона шаблона (метод шаблона в «Шаблонах проектирования» [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 () как на ту часть, которая подходит для обработки аргументов (предварительной обработки).
Надеюсь, это поможет.