Чтобы начать работу в командной строке, сначала не изобретайте колесо. Существует много вариантов разбора команд.
В Java есть Commons CLI , который предоставляет вам все, что вам нужно. Также имеется .NET CLI порт .
InfiniteRed имеет хорошее описание того, как это сделать в Ruby.
Что касается реализации, у вас есть правильная идея. Но и здесь не изобретай велосипед. Инкапсулируйте работу в Command
объектах и посмотрите на использование шаблона Цепочки ответственности; Сеть общин хорошо работает. Существует также .NET Цепной порт .
Если использование этих платформ не вариант, посмотрите, как они реализованы. Также, если у вас есть проблемы с взаимодействием с некоторыми из этих опций, Ruby действительно хороший швейцарский армейский нож для подобных вещей. Он относительно переносим, и код может оказаться действительно чистым и простым в обслуживании.
ОБНОВЛЕНИЕ: JCommander также выглядит интересно.