微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

寻找单例模式的替代方案

如何解决寻找单例模式的替代方案

我正在用 C++ 编写一个性能的面向数据的游戏程序。我使用了许多在启动时读取的静态表。我这样做是因为我想要大的连续数据块,我可以按顺序处理这些数据块以最大程度地减少缓存未命中。

我使用单例来包装这些表,原因如下:

  1. 我需要保证所有数据在启动时成功加载。如果任何表加载失败,我将退出显示错误消息。
  2. 一旦程序启动,我以这种方式使用的数据就永远不会更新。
  3. 我需要能够从代码中的多个位置访问数据。
  4. 我需要多个线程才能同时读取数据。我正在使用线程安全实现。
  5. 我需要通过接口强制访问这些表,以控制访问方式。所以我不希望数据本身可以全局访问,只希望数据的接口。

我知道单例模式不被认为是好的做法,但我在使用它时没有遇到任何问题。所以我的问题是,满足我上面概述的 5 个条件的更好方法是什么?

任何建议将不胜感激!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。