在整个项目中使用单个即时功能

时间:2018-03-09 14:47:17

标签: c# oop singleton

我有一个非常基本的问题,但仍然是一个问题。

在我的游戏课程中

public Game()
{
  PopulateGameTitles();
  PopulateGameReleaseDates();
}

我想确保在整个项目中只创建一次此Object。所以基本上,创建一个     新的Game()不会实例化一个新的,而是引用单独的实例化。

我怀疑我会把它变成一个Singleton但我很好奇当我在基础构造函数中进行计算时如何实现它。

1 个答案:

答案 0 :(得分:0)

你描述问题的方式,你肯定想要一个单身人士。但是,您不会使用new Game()来覆盖它。 Jon Skeet对单身人士有很好的article,以及如何实施这些单身人士。
但是,我会鼓励您考虑组织您的计划的其他选择。单身人士很危险,因为他们代表共享状态,你的程序中相距很远的部分可能会通过与这个单身人士的交互而无意中相互影响。您可能想知道是否真的需要在任何地方共享它,或者是否有其他方法可以通过您的程序分发这些数据。