![]() |
1
3
你的代码并不是在构建一个单体。它正在创建
除非你有一个你限制过的类,所以它只能有一个实例,否则你没有一个单例。你可能有一个工厂模式,一个缓存,不管怎样-但你没有一个单一的。
... 我不知道你为什么认为你的版本比上面简单。如果你 做 想要真正创建一个singleton,您将需要一个私有构造函数,用于您试图转换为singleton的任何类。在这一点上,你基本上得到了我的第四个例子,所以我再次不确定你认为你在哪里使事情变得更简单。
my article on
|
![]() |
2
1
您的代码相当于他的第四个示例,除了您正在使用显式类构造函数,而他正在声明点初始化。 您应该(在大多数情况下)避免使用singleton模式,因为它使扩展和单元测试应用程序变得非常困难。 a behavioural difference 关于使用类构造函数时何时构造单例。 |
![]() |
3
0
两者都工作得很好,而且都是完全有效的——只要你不需要懒惰。如果您需要懒惰,请使用文章中指出的第五个版本。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |