Phi*_*ipp 5 c++ configuration factory configuration-files factory-pattern
我正在开发一个用于模拟真实世界场景的C++应用程序.基于此模拟,我们的团队将开发,测试和评估在这样一个真实世界中工作的不同算法.
我们需要定义几个场景的可能性(它们可能在一些参数上有所不同,但未来场景可能还需要创建新类的对象)以及维护一组算法的可能性(这也是一组参数但是还要定义要创建的类).参数传递给构造函数中的类.
我想知道哪种是管理所有场景和算法配置的最佳方法.应该很容易让一个开发人员使用"他的"算法处理一个场景,而另一个开发人员使用"他的"不同算法处理另一个场景.尽管如此,参数集可能很大并且应该是"可共享的"(如果我在场景A中为某个算法定义了一组参数,那么应该可以在场景B中使用该算法而无需复制和粘贴).
似乎有两种主要方法可以完成我的任务:
定义可以处理我的要求的配置文件格式.此格式可能是基于XML或自定义的.由于C++中没有类似C#的反射,似乎每次将新算法类添加到项目时都必须更新配置文件解析器(为了将像"MyClass"这样的字符串转换为MyClass的新实例).我可以为每个设置创建一个名称,并将此名称作为命令行参数传递.
用C++代码连接所有内容.我不完全确定如何分离所有不同的创建逻辑,但仍然能够跨场景重用参数.我想我也会尝试给每个设置一个(字符串)名称,并使用此名称通过命令行arg选择设置.
现在我的问题是: - 你有什么看法?我错过了重要的利弊吗? - 我错过了第三种选择吗? - 是否有一种简单的方法来实现配置文件方法,这给我足够的灵活性? - 您如何在seconde方法中组织所有工厂代码?对于像这样的东西,有没有好的C++示例?
非常感谢!
| 归档时间: |
|
| 查看次数: |
2972 次 |
| 最近记录: |