使对象公共静态vs传递它

时间:2017-11-18 17:41:42

标签: c# monogame

我正在使用Monogame框架编写游戏 有一些对象只有一个实例 (但这并不一定意味着应该只有1个 例如)在应用程序的生命周期中,默认情况下, 例如ContentManager。

现在困扰我的是,我不确定什么是更好的做法以及原因:

  1. 使该对象公共静态并从其他类访问它 使用该静态实例加载东西
    1. 将该对象作为参数传递给其他类构造函数并以此方式使用

1 个答案:

答案 0 :(得分:1)

只是添加另一个选项,您可以使用单例模式来限制新类的创建,例如GameManager。这种模式有缺点和优点,所以你需要分析你的要求。

https://foo:bar@your.site

实现模式实现的最简单方法是让一个类具有私有构造函数,实例的静态参数和返回实例的方法。

https://en.wikipedia.org/wiki/Singleton_pattern