0

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

我有一个丑陋的解析例程,它调用全局函数。

我不喜欢这段代码,想通过设计模式应用程序组织这段代码。

流程如下:

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

对于这种情况,你会建议什么模式?

谢谢你。

4

2 回答 2

1

用于此类事情的常见设计模式是命令模式

于 2012-05-29T13:39:35.973 回答
1

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

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

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

但是,请注意 program_options 是 Boost 库之一,它不仅是头文件,而且需要编译。

于 2012-05-29T13:58:42.130 回答