我正在开发一个使用OpenGL的简单模拟,该模拟具有一些全局常量,在模拟执行期间由用户更改。我想知道Singleton设计模式是否是作为临时执行时间“配置库”工作的最佳方法使用单例存储全局应用程序参数
5
A
回答
4
如果你需要保持这些设置真正的“全局”,单身可能是最好的选择。
但是,出于仿真的目的,我会考虑是否可以设计算法来传递对配置实例的引用。这将使得每次模拟存储配置变得更加容易,并且最终允许您在需求改变的情况下同时处理具有单独配置的多个模拟。
通常,试图避免全局状态是一个更好的长期方法。
1
我认为在过去,我已经为此使用了命名空间,而不是单例类,但这应该也可以工作(可能更好)。当然,如果您希望能够在不重新编译的情况下更改配置,您可能希望将所有内容移动到单独的属性文件(或者XML或YAML或CSV或任何您喜欢的),然后在应用程序启动时加载它向上。然后,你需要一个“配置”类来存储所有的值在一个hashmap(或类似的东西)。
相关问题
- 1. 存储应用程序全局数据的位置?例如:
- 2. 全局Web应用程序参数
- 3. 在反应应用程序中共享全局/单例数据
- 4. 使用全局单例实例将子进程对象存储在内存中
- 5. 用于全局访问单例的Silverlight应用程序资源
- 6. 存储应用程序全局设置的位置?
- 7. 存储应用程序全局变量的位置?
- 8. 全局变量存储在PHP的Web应用程序
- 9. 如何使用spring创建全局会话/应用程序会话以存储应用程序选项?
- 10. 两个“全局”/应用程序布局
- 11. 使用存储过程参数DATE_SUB的单位参数
- 12. 在Eclipse RCP应用程序中存储“全局”数据的位置?
- 13. 存储全球使用的GPS值应用程序
- 14. 使用参数调用存储过程
- 15. 如何在JSF/EJB应用程序中存储应用程序参数?
- 16. 我应该在哪里存储全局数据库实例?
- 17. 使用全局对象作为存储
- 18. 单元测试使用存储过程的CakePHP应用程序
- 19. 在C#.NET应用程序传递存储过程的参数
- 20. 全局可用的数据库连接,而不使用全局/单例
- 21. 我应该如何或应该在iOS应用程序中存储全局所需的对象实例?
- 22. 使用HTML存储数据,使用PhoneGap检索应用程序
- 23. 聚合物应用程序的全球数据存储
- 24. 安全地存储应用程序帐户数据
- 25. 在ASP.Net应用程序中安全地存储(加密)数据
- 26. 应用程序和小应用程序的全局值
- 27. Java Web应用程序:全局应用程序范围对象
- 28. Android应用程序存储
- 29. Android应用程序存储
- 30. 使用存储过程输出参数