具有 C++ 控制台实用程序。里面的代码解析命令行输入,并根据输入调用特定的函数。
我有一个丑陋的解析例程,它调用全局函数。
我不喜欢这段代码,想通过设计模式应用程序组织这段代码。
流程如下:
- 处理命令行参数;
- 如果发生错误,则报告它并退出,否则继续;
- 根据指定的参数调用特定的例程;
对于这种情况,你会建议什么模式?
谢谢你。
具有 C++ 控制台实用程序。里面的代码解析命令行输入,并根据输入调用特定的函数。
我有一个丑陋的解析例程,它调用全局函数。
我不喜欢这段代码,想通过设计模式应用程序组织这段代码。
流程如下:
对于这种情况,你会建议什么模式?
谢谢你。
用于此类事情的常见设计模式是命令模式。
不是模式,但我建议看看 Boost.Program_options:
http://www.boost.org/doc/libs/1_49_0/doc/html/program_options.html
它可以轻松地为您的应用程序添加对命令行参数的支持,因为它完成了所有繁琐的解析。要实际执行特定功能,您仍然可以查看诸如命令模式之类的模式(如@Brady 所建议的那样)。
但是,请注意 program_options 是 Boost 库之一,它不仅是头文件,而且需要编译。