C++:模式:哪种模式适合特定的代码执行,具体取决于命令行参数
C++: Patterns: which pattern is good for specific code execution depending on command line arguments
具有控制台实用程序C++。里面的代码解析命令行输入,并根据输入调用特定函数。
我有一个大丑陋的解析例程,它调用全局函数。
我不喜欢这段代码,并希望通过设计模式应用程序来组织这段代码。
流程如下:
- 进程命令行参数;
- 如果发生错误,则报告并退出,否则继续;
- 根据指定的参数调用特定例程;
对于这种情况,您会建议什么模式?
谢谢。
用于此类操作的常见设计模式是命令模式。
不是一种模式,但我还是建议看看Boost.Program_options:
http://www.boost.org/doc/libs/1_49_0/doc/html/program_options.html
它可以轻松地向应用程序添加对命令行参数的支持,因为它执行所有繁琐的分析。要实际执行特定功能,您仍然可以查看像命令模式这样的模式(如 @Brady 所建议的那样)。
但是,请注意,program_options 是 Boost 库之一,它不仅是标头,而且需要编译。
相关文章:
- 命令模式 - 使用"weight"执行任务的命令
- Visual Studio 发布模式阻止在调试模式下执行的代码.使用 WinHTTP 和多线程
- 使用哪种模式来执行新代码,只需添加基类的新子类?
- 如何在调试模式下通过终端运行可执行的 c++?
- 在 eclipse 中以发布模式构建后没有可执行文件
- 内核模式驱动程序可以在任何进程上执行读取进程内存吗?
- 执行视觉工作室异常处理模式
- 执行输出模式必须与示例相同
- 如何使用会话::Run(TensorFlow C++API)以批处理模式对样本执行基于CNN的分类
- 替换decorator模式以强制执行创建顺序
- 用于对基于I/O的对象执行一系列操作的设计模式
- 哪些VS2010 C项目设置导致执行器需要兼容模式
- 为什么在"release "模式下生成的可执行文件会产生不好的结果?
- 如何检查可执行文件或 DLL 是否在发布或调试模式下生成 (C++)
- C++:模式:哪种模式适合特定的代码执行,具体取决于命令行参数
- 多线程模式下的SQLite3:执行到底不安全
- 如果命令不只是打印结果,而是进入某种交互模式,如何处理来自C++的终端命令执行的输出?
- 如何在用户模式应用程序中执行驱动程序功能
- 我将如何执行此文本模式匹配
- 执行可从内核模式执行的用户模式