【发布时间】:2016-11-01 16:54:01
【问题描述】:
我正在开发一款多人游戏 iOS 应用程序,并且我在设计中达到了一个点,我似乎可以从创建两个单例中受益,但我不知道是否有更好的设计模式。
- 实时游戏单例:从应用中的任何位置获取/设置属性以及启动/停止游戏。
- 位置管理器单例:从应用程序中的任何位置管理用户位置更新/属性,尤其是从实时游戏单例内部,因为游戏机制会影响位置管理器的属性。
如果您想知道我是否真的需要从应用程序中的任何位置与这些对象进行交互,答案是肯定的。这是一种实时多人游戏体验,因此与游戏玩法相关的所有内容都需要在应用的整个生命周期中保持干净。
那么这是对单例模式的正确使用还是有更好的方法,如果有,为什么更好?
【问题讨论】:
-
您还有哪些选择?
-
如果你现在使用单例,你会非常抱歉。考虑未来的更新,您需要支持一次跟踪多个现场游戏。
-
“你以后会很抱歉的” - 抱歉,我仍然不明白为什么会这样。有没有比你给出的例子更基本的东西?
-
单例也会产生内存问题,因为它们总是驻留在内存中并且不会被释放。
标签: ios design-patterns singleton multiplayer