C++:模式:哪种模式适合特定的代码执行,具体取决于命令行参数

C++: Patterns: which pattern is good for specific code execution depending on command line arguments

本文关键字:模式 执行 命令行 参数 代码 取决于 C++      更新时间:2023-10-16

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

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

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

流程如下:

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

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

谢谢。

用于此类操作的常见设计模式是命令模式。

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

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

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

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