小编TDS*_*TDS的帖子

管理模块类的最佳选择

我的游戏基础包括一系列模块,按类组织,在需要时创建,更新和交互.

有几个例子可以是:CWindowManager,CGraphicsManager,CPhysicsManager,等等.

我不得不说我目前使用全局指针(extern CWindowManager* g_WindowManager;),我知道这可能是一件坏事.

无论如何,事情是这些模块需要动态创建和删除,当然也需要正确的顺序.还有像模块一样CPhysicsManager依赖于场景的问题,因此在切换场景然后再次创建场景时会删除它们.

现在,我想转而使用全局变量来处理游戏中的模块.

我并不害怕重构,但我真的不能想到什么是全局变量的最佳选择.

我考虑过创建一个CModuleManager类并将模块的实例存储在那里作为成员,然后从CModule基类派生.虽然我无法真正想到这将如何发挥作用.

这似乎是软件开发,特别是游戏开发中的常见问题,因此:

- 与仅使用全局指针相比,管理模块的最佳选择是什么?

c++ design-patterns modularity coupling

6
推荐指数
1
解决办法
592
查看次数

标签 统计

c++ ×1

coupling ×1

design-patterns ×1

modularity ×1