C ++:模式:根据命令行参数,哪种模式适用于特定的代码执行

时间:2012-05-29 13:38:36

标签: c++ oop design-patterns command-line-arguments

拥有C ++控制台实用程序。 里面的代码解析命令行输入,并根据输入调用特定的函数。

我有一个非常难看的解析例程,它调用全局函数。

我不喜欢这段代码,并希望通过设计模式应用来组织这段代码。

流程如下:

  • 进程命令行args;
  • 如果发生错误,则报告并退出,否则继续;
  • 根据指定的参数调用特定的例程;

您对此案有何建议?

谢谢。

2 个答案:

答案 0 :(得分:1)

用于此类事情的常见设计模式是Command pattern

答案 1 :(得分:1)

不是模式,但我建议看一下Boost.Program_options:

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

它可以轻松地为您的应用程序添加对命令行参数的支持,因为它可以完成所有繁琐的解析。要实际执行特定功能,您仍然可以查看命令模式之类的模式(由@Brady建议)。

但请注意,program_options是Boost库之一,它不仅仅是标题,但需要编译。