有关使用(或不使用)单身人士的建议

时间:2016-11-01 16:54:02

标签: ios design-patterns singleton multiplayer

我正在开发一款多人游戏iOS应用程序,我已经在设计中找到了一个点,我似乎可以从创建两个单身人士中受益,但我不知道是否有优越的设计模式。

  1. 实时游戏单身人士:获取/设置属性并从应用程序的任何位置开始/停止游戏。
  2. 位置管理员单身人士:从应用中的任何位置管理用户位置更新/属性,尤其是从实时游戏单身内部管理用户位置更新/属性,因为游戏机制会影响位置管理器的属性。
  3. 如果您想知道我是否真的需要在应用程序的任何位置与这些对象进行交互,答案肯定是肯定的。这是一个实时的多人游戏体验,所以与游戏玩法相关的一切都需要在整个应用程序的生命周期中保持干净。

    那么这是正确使用单例模式还是有更好的方法,如果有更好的原因?

1 个答案:

答案 0 :(得分:0)

我相信你需要看看dependency injection。您应该在每个其他对象构造时间期间实例化对象传递GameLocationManager实例(即将它们作为构造函数参数传递给任何需要其中一个或两个的对象GameLocationManager个实例)。

实际上,在游戏初始化期间只会创建GameLocationManager的单个实例,并且游戏中的最顶层对象将开始注入这两个对象就像一个级联!