gpt4 book ai didi

performance - AS3 引用单例

转载 作者:行者123 更新时间:2023-12-01 12:39:40 25 4
gpt4 key购买 nike

我有一个 GameEngine 类,它是一个 sprite,还有一个 GameModel,它是一个 Singleton 类,包含大量数据。

然后我用

获取数据
GameModel.getInstance().variable;

我的游戏引擎现在有很多,我想知道如果我在我的 GameEngine 中引用 GameModel 而不是一直创建它是否会更有效率

private var _data:GameModel = GameModel.getInstance();
trace(_data.variable);

我有一种强烈的感觉,它会更有效率,但如果有人可以让我确定地知道,并让我知道您是否可以发现这种方法的缺陷,我们将不胜感激,干杯,罗里。

最佳答案

将实例存储在属性中绝对是个好主意,因为查找会更快,但也因为它降低了 GameEngine 对 GameModel 实现细节的了解。

例如,假设您的 GameEngine 类中有一堆 GameModel.getInstance() 调用,您决定放弃单例行为。您将重写所有这些调用,但是如果您将实例缓存在属性中,则只需重写一行。

就是说,完全忘记单例,它们比过早的优化更邪恶,但如果您必须使用单例,至少将实例存储在客户端类的属性中。

关于performance - AS3 引用单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11326024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com