我应该在我的游戏机上使用单例吗?

2024-04-19 13:46:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我第一次用python写游戏机游戏。我已经到了必须决定是否使用单例的地步。你知道吗

情况:

我有像(例如)Character这样的类。如果你开始一个新游戏,角色创建开始(命名你的角色,…)

创建角色后,我从character类character = Character(name, foo, bar创建一个对象

问题:

当我以后在其他函数/类中需要字符obj时(例如将其保存到json文件中),我必须访问最初创建的对象。我永远不需要多个播放器对象

现在我想知道是应该使用singleton还是应该总是将对象传递到需要它的地方。另一种选择是将变量存储在模块中,如果需要获取数据,则导入模块。你知道吗

你觉得呢?你知道吗


Tags: 模块对象函数name游戏角色foobar
1条回答
网友
1楼 · 发布于 2024-04-19 13:46:49

来自Python的禅宗

Simple is better than complex.

只有一个player对象的一种方法是创建某种单一模式,强制限制多个player。实现相同目标的一个简单方法是不实例化第二个玩家。你知道吗

如果您确实希望出于任何原因(例如,从多个位置访问同一个字符)强制使用单例模式,那么模块无疑是实现该效果的最佳方式。语法很容易使用,模块很容易从整个项目中访问,任何基本的单例机器都已经内置到模块语义中。你知道吗

相关问题 更多 >